TIL_Java Spring the Modern Way_1

-·2021년 2월 22일
0

spring ioc 컨테이너가 하는일

오브젝트의 생성과 관계설정, 사용, 제거 등의 작업을 애플리케이션 코드 대신 독립된 컨테이너가 담당

ApplicationContext 인터페이스를 구현한 클래스의 오브젝트

@SpringBootApplication

있는패키지가 자동으로 componentscan 하는 패키지

@ComponentScan("@SpringBootApplication위치 패키지") 이거쓰는거랑 같음

다른패키지하고싶으면 ? @ComponentScan 내용 바꿔주기

@PostConstruct

@PostConstruct
public void postConstruct() {
	logger.info("postConstruct");
}

bean생성이 완료되자마자 호출됨
ex) 빈을 생성하자마자 초기화시키고 싶을때

@PreDestroy

@PreDestroy
public void preDestroy() {
	logger.info("preDestroy");
}

빈이 파괴될때 호출

Scope(value=ConfigurableBeanFactory.SCOPE_SINGLETON) 에서만 작동

CDI

의존성 주입
JAVA EE표준(Spring제공)
@Inject(@Autowired) - 자동주입
@Named(@Component & @Qualifier) - 이름으로 찾기
@Singleton(Defines a scope of Singleton) - 스코프적용

CDI는 표준 - spring은 구현
JPA는 표준 - Hibernate는 구현
둘이 비슷한 관계

spring framework에서 벗어나고 싶으면 표준을 써라
둘이 뭐가 더 낫고 안좋고 하는 관계는 아님

profile
거북이는 오늘도 걷는다

0개의 댓글