spring
-
스프링 MVC 란?백기선(인프런 강의)/스프링 웹 MVC 2020. 8. 20. 08:48
MVC 란? M : Model 평범함 자바 객체 POJO 도메인 객체 또는 DTO로 화면에 전달할 또는 화면에서 전달 받은 데이터를 담고 있는 객체 V : View HTML, JSP 타임리프 등등 데이터를 보여주는 역할, 다양한 형태로 보여줄 수 있다. HTML, JSON, XML C : Controller 스프링 @MVC 사용자 입력을 받아 모델 객체의 데이터를 변경하거나, 모델 객체를 뷰에 전달하는 역할 입력값 검증 입력받은 데이터로 모델객체 변경 변경된 모델 객체를 뷰에 전달 MVC 패턴의 장점 동시다발적(Simultaneous) 개발 백엔드 개발자와 프론트 엔드 개발자가 독립적으로 개발을 진행 높은 결합도 논리적으로 관련있는 기능을 하나의 컨트롤러로 묶거나, 특정 모델과 관련있는 뷰를 그룹화 가능..
-
스프링 데이터 - PostgreSQL백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 7. 5. 10:49
2020/07/03 - [백기선/스프링 부트 개념과 활용] - 스프링 데이터 2부: 인메모리 데이터 베이스 2020/07/04 - [백기선/스프링 부트 개념과 활용] - 스프링 데이터 - MySQL 예제 의존성 추가 org.postgresql postgresql PostgreSQL 설치 및 서버 실행 (docker) PostgreSQL 설치 및 서버 실행 (docker) docker run -p 5432:5432 -e POSTGRES_PASSWORD=pass -e POSTGRES_USER=keesun -e POSTGRES_DB=springboot --name postgres_boot -d postgres docker exec -i -t postgres_boot bash su - postgres psql ..
-
스프링 데이터 - MySQL백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 7. 4. 13:09
예제 의존성 추가 mysql mysql-connector-java docker 설치 https://www.docker.com/ 아래 소스 실행 docker run -p 3306:3306 --name mysql_boot -e MYSQL_ROOT_PASSWORD=1 -e MYSQL_DATABASE=springboot -e MYSQL_USER=jinseok -e MYSQL_PASSWORD=pass -d mysql docker exec -i -t mysql_boot bash mysql -u root -p 소스 설치결과 MySQL용 Datasource 설정 spring.datasource.url=jdbc:mysql://localhost:3306/springboot?useSSL=false spring.datasou..
-
스프링 데이터 2부: 인메모리 데이터 베이스백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 7. 3. 09:02
지원하는 인-메모리 데이터 베이스 H2 (추천, 콘솔 때문에...) HSQL Derby Spring-JDBC가 클래스패스에 있으면 자동 설정이 필요한 빈을 설정 해줍니다. DataSource JdbcTemplate 인-메모리 데이터베이스 기본 연결 정보 확인하는 방법 URL: “testdb” username: “sa” password: “” H2 콘솔 사용하는 방법 spring-boot-devtools를 추가하거나... application.properties에 spring.h2.console.enabled=true 만 추가. /h2-console로 접속 (이 path도 바꿀 수 있음) 예제 프로젝트 생성 application.proeprties spring.h2.console.enabled=true 설..
-
CORS(Cross-Origin Resource Sharing)백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 6. 24. 08:58
CORS(Cross-Origin Resource Sharing) Same_Origin Policy와 다름 같은 Origin에만 요청을 보낼 수 있다. 동일 출처 정책(same-origin policy)은 어떤 출처에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 중요한 보안 방식 Cross-Origin Resource Sharing 서로 다른 Origin끼리 리소스를 공유할 수 있다. Origin이란? URI 스키마( http, https) hostname(whieship.me, localhost) 포트(8080, 18080)
-
HATEOAS(Hypermedia As The Engine Of Application State)백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 6. 22. 12:11
Hypermedia As The Engine Of Application State Rest API를 만들 때, 서버 현재 리소스와 연관된 링크 정보를 클라이언트에게 제공 클라이언트 연관된 링크 정보를 바탕으로 리소스에 접근한다. EntityModel에 추가해서 리턴하는 식으로 구현하고, 클라이언트도 그걸 사용하는 방식이 Hateoas이다. ObjectMapper 제공하는 리소스를 Json으로 변환할 때 사용하는 인터페이스 객체를 Json으로 변환하거나 Json을 객체로 변환할 때 사용 LinkDiscovers XPath를 확장해서 만든 HATEOAS용 클라이언트 API rest api로 다른쪽 서버 api를 요청해서 받을 때, hateoas를 지원한다면 메소드를 이용해서 self에 해당하는 링크 정보를 ..
-
ExceptionHandler백기선(인프런 강의)/더 자바, 코드를 조작하는 다양한 방법 2020. 6. 16. 20:38
스프링 @MVC 예외 처리 방법 @ControllerAdvice @ExceptionHandler 스프링 부트가 제공하는 기본 예외 처리기 BasicErrorController 상속받아 사용 HTML과 JSON 응답 지원 커스터마이징 방법 ErrorController 구현 커스텀 에러 페이지 상태 코드 값에 따라 에러 페이지 보여주기 src/main/resources/static|template/error/ 404.html 5xx.html ErrorViewResolver 구현 예제 public class AppError { private String message; private String resaon; public String getMessage() { return message; } public vo..