반응형
xml코드를 전부 자바 코드로 변경하기
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
</beans>
@ComponentScan({spring.id.ui",spring.id.ux"})
@Configuration
public class Config(){
}
@Configuration 어노테이션을 붙여 이 클래스가 설정 클래스임을 알려줍니다.
@ComponentScan을 이용해 스캔할 범위를 나열합니다. 자바문법에 맞게 배열 형식으로 여러 개를 지정할 수 있습니다.
<bean id = "exam" class"spring.id.entity.exam">이라는 xml설정을 변경할 수 있습니다.
@ComponentScan({spring.id.ui",spring.id.ux"})
@Configuration
public class Config(){
@Bean
public Exam exam(){
return new Exam();
}
}
메서드 이름으로 bean_id를 매칭해 가져오게 됩니다.
가져온 Exam객체를 IoC컨테이너에 담게됩니다.
어노테이션을 이용해
ApplicationContext 생성하기 위해서는
ApplicationCotext context =
new AnnotationConfigApplicationContext(Config.class); 로 설정 파일을 설정할 수 있으며
register()로 여러 개의 설정 파일을 등록할 수 있습니다.
ApplicationContext가 Bean을 가져오는 동작 방식
1. ApplicationContext는 앞의 @Configure 가 붙은 클래스를 설정 정보로 등록해두고 @Bean이 붙은 메서드의 이름을 가져와 Bean 목록을 만든다.
2. 클라이언트가 ApplicationContext의 getBean메서드를 호출하면 Bean 목록에서 요청한 이름이 있는지 찾는다.
3. 있다면 Bean을 생성하는 메소드를 호출해서 오브젝트를 생성시킨 후 클라이언트에게 리턴해 준다. (스프링에서 관리되는 Bean들이 기본 생성자가 필요한 이유)
반응형
'Spring|Spring-boot' 카테고리의 다른 글
[Spring] 커맨드 객체 중첩 , 콜렉션 프로퍼티 (0) | 2020.06.23 |
---|---|
[Spring] 단순 연결을 위한 컨트롤러 처리 (0) | 2020.06.23 |
[Spring] @Component (0) | 2020.06.22 |
[Spring] @Autowired , @Qualifier (0) | 2020.06.18 |
[Spring] Annotaion (0) | 2020.06.18 |
댓글