Bean class란
스프링에서 만든 자바객체라고 이해하면 편하다.
XML로 파일을 읽을 때 Bean을 사용하는 방법은
bean에다 나중에 호출할 때 찾을 수 있게 id값과 내가만든bean의 위치를 class="주소"에 넣는다.
이렇게 bean을 설정하면 Engine e = new Engine(); Car c = new Car(); 이 부분을 실제코드에서 작성하지 않아도 되고
ApplicationContext ac = new ClassPathXmlApplicationContext( "classpath:applicationContext.xml");
Car car = (Car)ac.getBean("car");
car.run();
실제 동작부분만 입력하면 된다.
위의 방법보다 더 간편한 것이 java config를 이용한 방법이다.
car와 engine 클래스를 따로 만든 후
원래라면 xml을 통해서 id값과 class값을 줘야했지만 @Bean을 활용해 바로 설정할 수 있다.
하지만 설정하기 전에 반드시 위쪽에 @Configuration을 적어야한다. 이 파일은 설정파일이다라는걸 자바에게 알려주는 역할이다.
@Configuration
public class ApplicationConfig {
@Bean
public Car car(Engine e) {
Car c = new Car();
c.setEngine(e);
return c;
}
@Bean
public Engine engine() {
return new Engine();
}
}
이 방법보다 더 간단한것이 @Component를 활용하는 것이다.
config클래스에
@Configuration
@ComponentScan("kr.or.connect.diexam01") 를 추가한다
컴포넌트 등의 어노테이션이 붙어 있는 클래스를 찾아 메모리에 모두 올려주는 역할을 한다.
@Component
public class Engine {
public Engine(){
System.out.println("Engine 생성자");
}
public void exec(){
System.out.println("엔진이 동작합니다.");
}
}
그 후 엔진과 Car에 component를 작성하면 끝이다.
'IT > 부스트코스' 카테고리의 다른 글
부스트코스 -7 스프링MVC (8) | 2020.05.03 |
---|---|
부스트코스 웹앱개발 -6 스프링JDBC (0) | 2020.04.30 |
부스트코스 웹앱개발 -3 Event delegation (0) | 2020.04.23 |
부스트코스 웹앱개발 -2 AJAX (0) | 2020.04.22 |
부스트코스 웹 앱 개발-1: 자바스크립트 배열 및 오브젝트 (0) | 2020.04.01 |