이번 시간에는 지금까지 XML 파일을 통해 작성했던 것을 Java 파일을 통해 작성하도록 변경하고자 한다.
이를 위해서는 별도의 자바 클래스가 필요하며 해당 파일이 일반적인 자바 클래스가 아니라 설정을 위한 클래스임을 표시하기 위해서 @Configuration 이라는 어노테이션을 붙여준다. 이렇게 하면 해당 클래스 안에서 XML 파일에서 설정했던 내용을 어노테이션으로 추가할 수 있게 된다.
따라서 다음과 같이 새로운 클래스를 만든 뒤, 코드를 작성해주었다.
@ComponentScan("spring.di.ui")
@Configuration
public class NewlecDIConfig {
@Bean
public Exam exam() {
return new NewlecExam();
}
}
위의 구문은 기존에 xml 파일에 작성되어 있던 아래 구문을 완벽하게 대신하게 된다.
<context:component-scan base-package="spring.di.ui, spring.di.entity" />
<bean id="exam" class="spring.di.entity.NewlecExam" p:kor="10" p:eng="20" p:math="40" p:com="30"/>
이제 우리는 ApplicationContext 객체를 생성할 때, XML 파일을 통해 생성할지 아니면 위에서 작성한 Java Configuration 클래스를 통해 생성할지 결정할 수 있다.
이때 @Configuration 어노테이션을 포함하고 있는 Java 클래스를 이용하여 객체 생성하고자 한다면 아래와 같이 AnnotationConfigApplicationContext 클래스를 통해 생성할 수 있다.
ApplicationContext context = new AnnotationConfigApplicationContext(NewlecDIConfig.class);
'🍃 Spring, Spring Boot > 스프링 프레임워크 기초' 카테고리의 다른 글
[Java / Spring] 8. 스프링으로 AOP 구현해보기 (0) | 2022.04.17 |
---|---|
[Java / Spring] 7. 순수 자바로 AOP 구현해보기 (0) | 2022.04.17 |
[Java / Spring] 5. 어노테이션을 이용한 객체 생성 (0) | 2022.04.11 |
[Java / Spring] 4. 어노테이션을 이용할 때의 장점과 @Autowired를 이용한 DI 해보기 (0) | 2022.04.11 |
[Java / Spring] 3. 콜렉션 생성과 목록 DI (0) | 2022.04.11 |