old posting/Spring Framework

    [Spring] MessageSource

    [Spring] MessageSource

    MessageSource 국제화(i18n) 기능을 제공하는 인터페이스 ApplicationContext extends MessageSource getMessage(String code, Object[] args, String, default, Locale, loc) ... 스프링 부트를 사용한다면 별다른 설정 필요없이 messages.properties를 사용할 수 있다. messages.properties messages_ko_kr.properties ... 릴로딩 기능이 있는 메시지 소스 사용하기

    [Spring] Environment

    Environment 프로파일과 프로퍼티를 다루는 인터페이스 ApplicationContext extends EnvironmentCapable getEnvironment() 프로파일 빈들의 그룹 Environment의 역할은 활성화할 프로파일 확인 및 설정 프로파일 유즈케이스 이 빈은 모니터링 용도이기에 테스트할 때는 필요가 없고 배포할 떄만 등록이 되면 좋겠다. 프로파일 정의하기 클래스에 정의 @Configuration @Profile("test") @Component @Profile("test") 메소드에 정의 @Bean @Profile("test") 프로파일 설정하기 -Dspring.profiles.avtive="test" @ActiveProfiles 프로파일 표현식 ! (not) & (and) |..

    [Spring] 빈의 스코프

    스코프(Scope) 싱글톤 프로토타입 Request Session WebSocket ... 프로토타입 빈이 싱글톤 빈을 참조하는데 문제 없다. 싱글톤 빈이 프로토타입 빈을 참조하면 같은 객체를 참조한다. 즉 프로토타입 빈이 업데이트 되지 않는다. 업데이트를 하려면 scoped-proxy, Object-Provider, Provider(표준)을 사용해야한다. 싱글톤 객체 사용시 주의할 점 프로퍼티가 공유된다. ApplicationContext 초기 구동시 인스턴스가 생성된다.

    [Spring] Component Scan 과 Component

    [Spring] Component Scan 과 Component

    컴포넌트 스캔 설정 방법 XML 설정에서는 context:component-scan Java 설정에서는 @ComponentScan 특정 패키지 이하의 모든 클래스중에 @Component 어노테이션을 사용한 클래스를 빈으로 자동으로 등록해준다. 컴포넌트 스캔의 주요 기능 스캔 위치 설정 필터 어떤 어노테이션을 스캔 할지 또는 스캔하지 않을지 설정 Component @Repository @Service @Controller @Configuration 동작 원리 @ComponentScan은 스캔할 패키지와 어노테이션에 대한 정보 실제 스캐닝은 ConfigurationClassPostProcessor라는 BeanFactoryPostProcessor에 의해 처리된다. 펑션을 사용한 빈 등록