2022.10.20 Spring-2

차유빈·2022년 10월 20일
0

[IOC] 빈 객체의 생명주기

  • 기본이 single tone, prototype은 getBean 사용할때마다 객체 생성


BeanLifeCycle 프로젝트 생성

init-method & destroy-method 등

TestBean1.java

MainClass.java

  • 생성자가 생성된 다음 init 메서드가 자동 실행 됨
  • destroy 메서드는 객체가 소멸될 때 자동 소멸됨

beans.xml


TestBean2.java

MainClass.java

beans.xml


[IOC] 빈 포스트 프로세서

init-method보다 먼저 실행이 됨

TestBean1.java

TestBean2.java

MainClass.java

beans.xml
TestBeanPostProcessor를 beans.xml에 등록해두면 TestBeanPostProcessor.java 파일에서 implements로 연결하고 메서드 입력하면 전체 적용됨


[DI] 생성자 주입

아주 중요함

  • 객체 안의 객체를 사용할때 객체 주입

ConstructorDI 프로젝트 생성

beans.xml

  • beans.xml 파일 안에 constructor-arg value='11.11' type='double' 처럼 constructor-arg로 값을 주입시킴

DataBean.java

TestBean.java

TestBean2.java

MainClass.java


[DI] setter 메서드로 주입

SetterDI 프로젝트 생성

Beans.xml

DataBean.java

TestBean.java

MainClass.java


[DI] 컬렉션 주입

CollectionDI 프로젝트 생성

Beans.xml

DataBean.java

TestBean.java

MainClass.java


[DI] 자동주입 (AutoWire)

이름

SetterDI 프로젝트 생성

Beans.xml

DataBean1.java

DataBean2.java

TestBean1.java

TestBean2.java

MainClass.java


타입

Beans.xml

MainClass.java


생성자

Beans.xml

TestBean2.java

MainClass.java


[Annotation] Java 코드로 빈 등록

xml 대신 java 코드에서 클래스를 만들어서 bean 등록 => @ 사용

javaBeanconfiguration 프로젝트 생성

TestBean1.java, TestBean2,3,4 동일

beans.xml

MainClass.java

BeanConfigClass.java

profile
chacha's 프로그래밍 공부

0개의 댓글