이전에 xml 파일을 이용하여 DI를 설정했습니다.
이번에는 Java를 이용해서 DI를 설정하겠습니다.
xml 파일에서 setter()와 생성자를 통해 설정을 했습니다.
이번에는 Java를 이용해 setter()와 생성자를 사용하겠습니다.
MyCats 클래스에서도 마찬가지로 변수와 setter()를 추가했습니다.
결과를 출력해주는 메서드가 있는 Cats.java 파일도 수정합니다.
이제 setter()와 생성자를 사용해서 Java에서 Bean(객페)를 생성하겠습니다.
ApplicaitonContext.java 파일 생성 후 작성
Java 파일에서는 어노테이션을 이용해서 객체를 생성합니다.
@Configuration - "이 클래스는 Spring 설정에 사용되는 클래스입니다."라고 명시해주는 어노테이션
@Bean - 객체를 생성하는 어노테이션
Java 파일에서 설정하는 방법과 xml 파일에서 설정하는 방법을 비교하면 다음과 같습니다.
이제 고양이 객체를 이용해서 정보를 출력합니다.
Java 파일에서는 어노테이션을 이용해서 bean을 설정했기 때문에 xml에서 설정했을 때 객체를 가져오기 위해 사용했던
클래스가 아닌 AnnotationConfigApplicationContext 클래스를 이용하여 context를 불러옵니다.
이전에 사용했던 GenericXmlApplicationContext 클래스에서 파생된 클래스이기 때문에 Java 파일도 결국 내부적으로
xml로 변환된다고 합니다.
'Programming > Spring' 카테고리의 다른 글
Spring AOP를 이용하여 Service클래스에 로그 출력하기 (0) | 2020.08.04 |
---|---|
Spring AOP - @Aspect 구현 (0) | 2018.06.16 |
Spring AOP - XML 기반으로 구현 (0) | 2018.06.13 |
Spring DI 생성자를 이용해서 의존성을 주입 (0) | 2018.06.13 |
Spring DI(Dependecy Injection) (0) | 2018.06.13 |