외부설정파일에는 yml 과 properties 파일이 있다 나는 yml 파일을 자주 사용하기 때문에 자세한 설명에 대한 것은 yml 파일 기준으로 작성하였다 자동 구성 별도의 코드 작성 없이 스프링이 알아서 감지하여 빈을 생성하는 기능 자동구성의 예: 스프링을 사용할 경우 DataSource 생성과 연결을 위한 메소드를 작성하고 @Bean 어노테이션을 붙임으로써 스프링 어플리케이션 컨텍스트에 빈을 생성하였다. 하지만 스프링부트에서는 의존성 라이브러리(예를들어 H2)를 pom.xml에 작성한다면 런타임 시점에 스프링부트가 해당 빈을 자동으로 찾아 스프링 애플리케이션 컨텍스트에 생성한다. 이처럼 별도의 코드 작성 없이 알아서 감지하여 빈을 생성하는 스프링의 기능을 자동-구성 기능이라고 한다. 스프링 외부 설..
영속성(Persistence) 애플리케이션이 종료되더라도 사라지지 않는 데이터의 특성 영속성을 가지지 않는 데이터는 애플리케이션 메모리에만 존재하기 때문에 애플리케이션을 종료하면 사라진다. 이러한 문제를 해결하기 위해 관계형 데이터베이스, 객체 데이터베이스 등을 활용하여 데이터를 영구적으로 저장하여 데이터에 영속성을 부여한다. Persistence FrameWork JDBC 프로그래밍의 복잡함없이 간단한 작업으로 데이터베이스와 애플리케이션을 연동할 수 있는 프레임워크 기준을 SQL Mapper 와 ORM으로 나눌 수 있다 모든 Persistences FrameWork는 내부적으로 자바가 지원하는 JDBC API를 이용한다 SQL Mapper 와 ORM 차이 ORM은 데이터베이스 객체를 자바 객체로 매핑함..
책에 나왔던 용어들 정리 및 요약 - 웹MVC 개발 클래스 수준에서의 @RequestMapping 사용 : 해당 컨트롤러의 루트 경로를 지정 / 해당 컨트롤러의 처리 요청 종류를 나타냄 @PostMapping / @GetMapping의 차이 : 전자는 폼형식으로 데이터를 요청하고 , 후자는 url의 파라미터 형식으로 데이터를 요청 @Slf4j : 컴파일 시에 해당 클래스에 자동으로 Logger을 생성함 / 책에서는 주문 내역로그를 보기 위해 선언 유효성 검사 - java.validation.constraints.* 필드에 알맞은 유효성 어노테이션을 붙여줌 컨드롤러에서 요청시 사용되는 클래스에 @valid 어노테이션을 붙여 유효성 검사를 활성화시켜줌 Error 파라미터를 통해 오류가 있으면 오류 확인 가능..
1.1 스프링의 동작 구조 스프링 동작 이해를 위한 기본 개념 용어 - 스프링 애플리케이션 컨텍스트(spring application context) : 애플리케이션의 컴포넌트들을 생성하고 관리하는 컨테이너 컴포넌트 또는 빈들은 컨테이너 내부에서 서로 연결되어 있어 완전한 애플리케이션을 만든다 - 의존성 주입(Dependency Injection) 방식: 빈들의 상호 연결은 의존성 주입 패턴을 기반으로 수행한다 하나의 빈에서 외부의 빈을 필요로 할때 직접 가져다쓰거나 만들어 쓰는 것이 아닌 외부(컨테이너)에게 필요한 빈을 요청하고 외부(컨테이너)는 필요한 빈을 주입시켜주는 방식이다 예전의 스프링 컨텍스트의 빈 관리는 XML 파일을 통해 이루어졌다 그러나 최신 버전의 스프링에서는 자바 기반의 구성이 더 많..