새소식

인기 검색어

JAVA

@Component

  • -

 

@Component


 개발자가 직접 작성한 Class를 Bean으로 만드는 것으로 Bean객체의 이름은 '클래스 이름의 첫 문자를 소문자'로 바꾼 것이 Bean의 이름이 된다.

싱글톤 클래스 빈을 생성하는 어노테이션이며 물론, @Scope를 통해 싱글톤이 아닌 방식으로도 생성이 가능하다.

 반대로 @Bean 어노테이션의 경우 개발자가 직접 제어가 불가능한 외부 라이브러리등을 Bean으로 만들려할 때 사용된다.

 

 

 

사용방법

 

@Component
public class FileUp{} // Bean Name = "fileUp"

@Component("down")
public class FileDown{} // Bean Name = "down"



public class File{

	@Autowired // 같은 타입의 빈을 자동으로 주입시킨다.
    private FileUp fileUp;
    
    @Autowired
    @Qualifier("down") // @Qualifier를 사용하여 Autowired될 빈의 이름을 지정할 수 있다.
    private FileDown filedown;
}

 

 

@Bean   vs   @Component 

 

 @Bean은 메소드에 사용하며 개발자가 컨트롤이 불가능한 외부 라이브러리에 사용시 사용하는 점과 @Component은 클래스에 사용하며 개발자가 직접 컨트롤이 가능한 내부 클래스에 사용한다는 점

 

 

 

 

 

 

 

'JAVA' 카테고리의 다른 글

@RequestBody, @RequestParam, @ModelAttribute  (0) 2023.02.07
extends, implements  (0) 2023.02.07
@Resource, @Autowired, @Inject  (0) 2023.02.07
queryForObject, queryForList  (0) 2022.10.18
Map  (0) 2022.10.18
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.