본문 바로가기

Programing/Spring FrameWork

[Spring] 빈 ( Bean )

728x90
반응형

[Spring] 빈 ( Bean )


빈 ( Bean )

-> 스프링 IoC 컨테이너가 관리하는 객체

-> applicationContext가 만들어서 그 안에 담고 있는 객체

// Bean이 아니다
OwnerController ownerController = new OwnerController();

// Bean이다.
OwnerController ownerController = applicationContext.getBean( OwnerController.class );

Bean 등록 방법

-> 1) Component Scanning( Annotation )을 통한 방법

  • @ComponentScan: 어디서부터 Component를 찾을지 나타내는 Annotation 
  • @Component
    • @Repository, @Service, @Controller, @Configuration

-> 2) 직접 XML이나 자바 설정 파일에 등록 ( @Configuration )

@Configuration
public class SampleConfig {
	
     @Bean
     public SampleController sampleController() {
     	
        	return new SampleController();
            
     }
}

 

 

Bean 꺼내는 방법

-> 1) @Autowired or @Inject - (생성자, 필드, Setter에 가능): 가급적이면 생성자에 붙히는 것이 좋다.

// 1) 필드
@Autowired
private PetRepository petRepository;


// 2) 생성자
private final PetRepository petRepository;

@Autowired
public void ownerController ( PetRepository petRepository ) {
	
    this.petRepository = petRepository;
    
}

// 3) Setter
@Autowired
public void setPetRepository ( PetRepository petRepository ) {

	this.petRepository = petRepository;
    
}
    

-> 2) ApplicationContext.getBean() - 직접 꺼내는 방법

 

 

 

728x90
반응형