java파일을 이용하여 bean객체를 만들고 주입하며, 자동주입은 어떻게 하는지 알아보도록 하자.
일단 기본적으로 예제에 사용할 TestBean7을 위와 같이 정의하였다.
1. 생성자를 이용한 주입
위와 같이 설정해주면 된다. 뭔가 간단한거 같다....
그냥 원래 자바파일에서 생성자에 매개변수 넣어주듯이 하면 된다.
생성자의 매개변수를 한개씩 사용자가 넣어주는 예제이지만 FileStream하여 파일에서 읽어올 수도 있겠고, 웹이라면 Request하여 읽어올 수도 있을것 같다!!
이렇게 하면 정상적으로 출력된다.
2. setter를 이용한 주입
이것도 뭐 간단하다.
너무도 당연하게 setter에 직접 데이터를 넣어주는 방식이다. 변수를 여러가지로 활용할 수 있겠다.
main의 출력코드는 생략하겠다.
3. 자동주입
3-1. Autowire.BY_NAME
TestBean8은 DataBean2 타입인 data1과 data2 2개가 있다.
이름으로 객체를 찾아서 자동으로 주입해주는 것은 java파일에서는 위와 같이 설정한다.
DataBean2 형의 필드와 이름이 똑같은 data1과 data2를 bean으로 등록해준다.
TestBean8 타입의 di3을 정의해주는데 @Bean(autowire = Autowire.BY_NAME) 어노테이션으로 설정하여 이름으로 객체를 자동주입할 수 있도록 해준다.
결과는 아주 잘 나온다..
3-2. Autowire.BY_TYPE
type이 같은 빈을 찾아서 자동으로 주입해주는 어노테이션 설정이다. 어짜피 타입으로 찾기때문에 메소드의 이름은 중요하지 않을것이다. data100이라고 그냥 대충 정해봤다.
그후 di4를 정의하는데 @Bean(autowire = Autowire.BY_TYPE) 어노테이션을 이용하여 타입으로 객체를 찾아 자동주입하도록 설정하였다.
잘 나오는 것을 확인하였다.
'JAVA > Spring' 카테고리의 다른 글
JSR-250 어노테이션 (0) | 2020.04.11 |
---|---|
Annotation을 이용한 빈 설정 (0) | 2020.04.11 |
Java코드를 활용한 Bean 등록 (0) | 2020.04.10 |
자동 주입 (0) | 2020.04.10 |
컬렉션 주입 (0) | 2020.04.09 |