스프링 컨테이너를 위한 XML 환경설정 파일 작성하지 않는다.
스프링 부트가 기본적으로 모든 빈(Bean)설정을 XML이 아닌 어노테이션(Annotation)으로 처리하기 때문이다.
※ Bean
- (Bean)은 스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트이다.
즉, 스프링 컨테이너가 관리하는 자바 객체를 뜻하며, 하나 이상의 빈(Bean)을 관리한다.
→ 기존 SI프로젝트에서는 Annotation보다는 XML을 통해서 처리하는 것이 많았다.
※ 어노테이션(Annotation)
정의 : 자바에서 Annotation은 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술이다.
즉, 프로그램에게 추가적인 정보를 제공해주는 메타데이터라고 볼 수 있다.
기본적으로 어노테이션을 사용하는 순서는 다음과 같다.
1. 어노테이션을 정의한다.
2. 클래스에 어노테이션을 배치한다.
3. 코드가 실행되는 중에 Reflection을 이용하여 추가 정보를 획득하여 기능을 실시한다.
Annotation 종류
1) @Component
@Component은 개발자가 직접 작성한 Class를 Bean으로 등록하기 위한 Annotation이다.
Component에 대한 추가 정보가 없다면 Class의 이름을 camelCase로 변경한 것이 Bean id로 사용된다.
하지만 @Bean과 다르게 @Component는 name이 아닌 value를 이용해 Bean의 이름을 지정한다.
2) @Bean
개발자가 직접 제어가 불가능한 외부 라이브러리등을 Bean으로 만들려할 때 사용하는 Annotation이다.
ex)
@Configuration
public class ApplicationConfig {
@Bean(name="myarray")
public ArrayList<String> array(){
return new ArrayList<String>();
}
}
이렇게 되면 ArrayList<String>의 객체가 myarray가 되는 것이다.
3) @AutoWired
속성(field), setter method, constructor(생성자)에서 사용하며 Type에 따라 알아서 Bean을 주입 해준다.
이 Annotation을 사용할 시, 스프링이 자동적으로 값을 할당한다.
Controller 클래스에서 DAO나 Service에 관한 객체들을 주입 시킬 때 많이 사용한다.
등등 Controller와 RestController과 같은 것은 생략....
'Spring_SpringBoot > 이론' 카테고리의 다른 글
| SpringBoot 의존성 관리 (0) | 2024.06.03 |
|---|---|
| RestController/Controller (0) | 2024.06.03 |
| 스프링부트의 ComponentScan Bean이해 (0) | 2024.06.03 |
| Spring-Security pom.xml(보완)과 Tomcat (0) | 2024.06.03 |
| 스프링부트(SpringBoot)의 장점 (0) | 2024.06.03 |