반응형
은세고화
뚜렷한 기억보단 흐릿한 잉크를
은세고화
전체 방문자
오늘
어제
  • 분류 전체보기 (96) N
    • TDD (2)
      • 학점 산출 프로그램 (2)
    • IT (44) N
      • 부스트코스 (18)
      • CS50 (3)
      • 도서추천 알고리즘 (2)
      • 스터디 일정 (3)
      • 스프링 (3)
      • 프로젝트 개발 중 발생한 에러 (8)
      • 웹개발 (4) N
      • DB (3)
    • 독서 후기 (12)
      • 도서 (12)
    • e북 (3)
    • 알고리즘 (26)
    • 프로젝트 (6)
      • 향수 (6)
    • 회고 (1)

블로그 메뉴

  • 홈

공지사항

인기 글

티스토리

hELLO · Designed By 정상우.
글쓰기 / 관리자
은세고화

뚜렷한 기억보단 흐릿한 잉크를

IT/부스트코스

부스트코스 웹앱개발 -5 스프링

2020. 4. 28. 21:38
반응형

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  (9) 2020.05.03
부스트코스 웹앱개발 -6 스프링JDBC  (1) 2020.04.30
부스트코스 웹앱개발 -3 Event delegation  (2) 2020.04.23
부스트코스 웹앱개발 -2 AJAX  (0) 2020.04.22
부스트코스 웹 앱 개발-1: 자바스크립트 배열 및 오브젝트  (1) 2020.04.01
    'IT/부스트코스' 카테고리의 다른 글
    • 부스트코스 -7 스프링MVC
    • 부스트코스 웹앱개발 -6 스프링JDBC
    • 부스트코스 웹앱개발 -3 Event delegation
    • 부스트코스 웹앱개발 -2 AJAX
    은세고화
    은세고화

    티스토리툴바