안녕하세요 ~ 맹기입니다.현재 스프링 부트를 사용하여 웹 페이지를 만들어야 될 일이 생겨서...이번 기회에 스프링 부트를 제대로 배워 보려고 기술 블로그를 시작하게 되었습니다~스프링 부트를 많이 접해보긴 했지만, 그냥 활용만 할 뿐 의미를 다 알고 사용하지를 못했습니다
# IoC 컨테이너 1부: 스프링 IOD 컨테이너와 빈 1.1 IoC란? > Inversion of Control : 의존 관계 주입(Dependency Injection)이라고도 하며, 사용하는 의존 객체를 직접 만들어 사용하는게 아니라, 주입 받아 사용하는 방법을
#스프링의 컨테이너와 빈 등록 관련 변천사 초기에는 xml 파일을 직접 만들어서 일일히 bean을 등록 해줘야 했었으며, 의존 관계도 명시를 했어야했음 bean을 일일히 등록 해주는게 어렵고 귀찮기 때문에 아래와 같이 패키지를 등록하는 방법이 생김 해당 설정
필요한 의존 객체의 "타입"에 해당하는 빈을 찾아 주입한다.BookRepository가 빈으로 등록되어 있지 않으면 에러이다. (스프링컨테이너가 Autowire할 빈을 찾지 못하기 때문에)BookRepository에 @Repository 또는 @Configuration
@SpringBootApplication 어노테이션을 들어가보면 @ComponentScan 어노테이션이 있다.그렇기 때문에 해당 어노테이션이 있는 위치부터 모든 컴포넌트를 탐색한다. (해당 클래스가 존재하는 패키지(me.hyunki.demospring51) 까지만 컴포
스코프 싱글톤 모든 빈들의 디폴트 설정은 싱글톤이다.
1. ApplicationContext extends EnvironmentCapable getEnvironment()
VM options 설정파일로 설정 (resorces 하위의 app.properties 파일에 설정함)\--> VM options와 파일 설정이 겹치면, VM options가 이긴다.다양한 방법으로 정희할 수 있는 설정값Environment의 역할은 프로퍼티 소스 설정
국제화 (i18n) 기능을 제공하는 인터페이스.getMessage(String code, Object\[] args, String, default, Locale, loc)...messages.propertiesmessages_ko_kr.propertiesmessages
이벤트 프로그래밍에 필요한 인터페이스 제공. 옵저버 패턴 구현체.publishEvent(ApplicationEvent event)ApplicationEvent 상송스프링 4.2 부터는 이 클래스를 상속받지 않아도 이벤트로 사용할 수 있다.ApplicationEventP
ApplicationContext extends ResourceLoaderresources위치에 test.txt파일을 생성 앱 실행 시에 target > classes 경로에 test.txt 파일이 생성됨코드에 "classpath:" 라는 경로를 주면은 target >
org.springframework.io.Resource 1. 특징 java.net.URL을 추상화 한 것. 스프링 내부에서 많이 사용하는 인터페이스. 2. 추상화 한 이유 클래스패스 기준으로 리소스 읽어오는 기능 부재 ServletContext를 기준으로 상대 경
org.springframework.validation.Validator에플리케이션에서 사용하는 객체 검증용 인터페이스.어떠한 계층과도 관계가 없다. => 모든 계층(웹, 서비스, 데이터)에서 사용해도 좋다.구현체 중 하나로, JSR-303(Bean Validation
org.springframework.validation.DataBinder 1. 데이터 바인딩 오류 >Event.java
1. Converter 등록 EventConverter.java WebConfig.java > 위의 두개의 클래스를 생성하면 아래의 테스트에서 Converter가 등록되어 String > Event 형변환이 자동으로 되어 테스트에 통과한다. EventContro
**Tip : ApplicationRunner를 상속받게 되면 Springboot 어플리케이션이 실행된 다음에 아래의 run 코드를 실행 하게 됨** 1. SpEL 예시 코드 AppRunner.java application.properties > 실행결과
1. 강의노트 > Aspect-oriented Programming(AOP)은 OOP를 보완하는 수단으로, 흩어진 Aspect를 모듈화 할 수 있는 프로그래밍 기법. AOP 주요 개념 Aspect : 하나의 모듈 (묶어놓은것) Aspect X,
1. 기존 Proxy 기반의 코드와 그 문제점
1. Spring AOP 설정 코드 PerfAspect.java PerfLogging.java EventService.java SimpleEventService.java AppRunner.java > - AOP를 적용하게 되면, IDE에 AOP 관련 표시가 나