케이스윔의 개발 블로그

[Spring] Annotation을(Java파일) 통한 스프링 설정 본문

Study/Spring Framework

[Spring] Annotation을(Java파일) 통한 스프링 설정

kswim 2019. 1. 19. 21:19

Annotation을 이용한 스프링 설정

지금까지는 스프링 설정파일로 bean을 생성하기 위해서 GenericXmlApplicationContext를 통해서 스프링 컨테이너와 함께 bean을 생성해서 getBean()을 통해서 해당 bean을 사용했습니다. xml파일 대신에 Java파일로도 설정파일을 만들 수 있습니다. Java 파일을 통해서 설정파일을 만들었다면 AnnotationConfigApplicationContext를 통해서 스프링컨테이너를 생성하고 getBean()을 통해 사용할 수 있습니다.


1. xml파일 대신 설정해줄 Java파일을 만들고 @Configuration을 해줍니다. 

@configuration

Public class MemberConfig{

….

}


2.xml에서 생성했던 bean들은 method로 만들어 줍니다.

1) 

<bean id=”StudentDao” class=”lec12.StudentDao”/>

@Bean

public StudentDao studentDao(){

return new StudentDao();


2)

<bean id=”registerService” class=”lec12.RegisterService”> 

<constructor-arg ref=”studentDao”/>

</bean>

@Bean

Public RegisterService registerService(){

return new RegisterService(studentDao());

}


3)

<bean id=”databaseConnection” class=”lec12.DatabaseConnection”/>

<property name=”JdbcUrl” value=”jdbc:oracle:thin:@localhost:1521:xe” />

</bean>

@Bean

Public DatabaseConnection DatabaseConnection(){

DatabaseConnection info = new DatabaseConnection();

Info.setJdbcUrl(“jdbc:oracle:thin:@localhost:1521:xe”);

return info;

}


이렇게 java 파일로도 bean을 생성할 수 있게 작성할 수 있고, 기능별로 묶어서 관리를 할 수 있습니다. 여러 개의 java 파일이 있다면 @configuration과 함께 @import({다른 class들})을 명시해주면 여러 개의 java파일을 한번에 가져올 수 있고, 분리된 다른 java파일의 객체도 @Autowired를 통해서 주입을 해줄 수 있습니다.




Comments