728x90
객체 필요한 곳에서 부르기
1. context 설정(객체 정보를 알 수 있는 class)
- .xml 파일 대신 설정이 담긴 java class를 넘긴다.
2. 사용할 객체 가져오기(xml과 동일)
- context에서 Bean을 가져온다.
- 이름만 설정 : 해당 이름의 객체를 가져온다. 이름이 없다면 해당하는 class를 알아서 가져온다.
- 클래스만 설정 : 해당 class타입으로 자동 형 변환해서 가져온다. 클래스 설정하지 않으면 Object 타입으로 반환한다.
ApplicationContext context = new AnnotationConfigApplicationContext(ApplicationConfig.class);
GuestBookService guestBookService = context.getBean("gbService", GuestBookServiceImpl.class);
Config.java
1. @Configuration을 추가한다.
2. xml에서 component-scan한 것처럼 사용하려면 @ComponentScan(basePackage="")도 붙인다. 여러 곳을 보려면 basePackages={"","", ...}를 사용한다.
3. 각 Bean을 설정할 때는 그 앞에 @Bean을 붙인다.
- property를 설정할 때 xml처럼 &를 붙이지 않아도 된다. java파일이기 때문이다.
@Configuration
@ComponentScan(basePackages= {"com._____.model"})
public class ApplicationConfig {
@Bean
public DataSource dataSource() {
SimpleDriverDataSource sdds = new SimpleDriverDataSource();
sdds.setDriverClass(com.mysql.cj.jdbc.Driver.class);
sdds.setUrl("jdbc:mysql://127.0.0.1:3306/스키마이름?serverTimezone=UTC&useUniCode=yes&characterEncoding=UTF-8");
sdds.setUsername("이름");
sdds.setPassword("비밀번호");
return sdds;
}
}
Component & Property
[이 방식]과 동일하다.
'기록 > BACKEND' 카테고리의 다른 글
[Spring] JNDI 설정하기 (0) | 2022.04.19 |
---|---|
[WEB] IoC (0) | 2022.04.19 |
[Spring] DI 주입하기 - xml (0) | 2022.04.15 |
[WEB] 파라미터와 어트리뷰트 (0) | 2022.04.04 |
[WEB] 요청과 응답의 Scope (0) | 2022.04.04 |
댓글