IoC

@Component
@Scope(
    value="prototype",
//    proxyMode=ScopedProxyMode.DEFAULT
//    proxyMode=ScopedProxyMode.INTERFACES
    /* cglib 의 dynamic proxy 가 적용
     * proxy 를 거쳐서 참조하도록 함.
     * jdk 의 dynamic proxy 는 interface 기반인데
     * cglib 는 class 도 proxy 가 가능하게 해준다.
     * 위의 interfaces 를 사용하면 jdk 기반의 proxy 를 사용
     */
    proxyMode=ScopedProxyMode.TARGET_CLASS
)
public class Proto  {
}

@Component
public class Single {
	@Autowired
	private Proto proto;
	public Proto getProto() {
		return this.proto;
	}
}

//Single class 가 singleton 이더라도 proto

두가지 기능 1. Profile : 환경, 빈들의 집합 2. Properties : key-vaule 쌍에 접근, 계층형

vm option -Dspring.profiles.active=test

vm option -Dapp.name=Spring5

org.springframework.context.MessageSource

Observer pattern

before Spring 4.2

after 4.2

위에서 같은 이벤트를 처리하는 핸들러가 추가되면 이벤트가 발생(publish)했을때 모두 수행된다 이벤트 리스너에서 @Order(int) 로 순서 조정 가능 Ordered.HIGHEST_PRECEDENCE Ordered.LOWEST_PRECEDENCE

Last updated

Was this helpful?