✍학습 키워드
스프링부트 3.0
IoC?
- Inversion of Control, 제어의 역전으로, 다른 객체를 직접 생성하거나 제어하는 것이 아니라 외부에서 관리하는 객체를 가져와서 사용하는 것을 말한다.
- 실제로 스프링은 스프링 컨테이너가 객체를 관리, 제공한다
DI?
- 제어의 역전을 구현하기 위해 사용하는 방법이 DI이며, 의존성 주입(Dependency Injection)
- @Autowired 어노테이션은 스프링 컨테이너에 있는 빈이라는 것을 주입하는 역할을 한다.
그럼 빈이 몬데?
- 스프링 컨테이너는 스프링이 제공하는것, 빈을 생성하고 관리하는것, 빈의 생명주기를 관리하는것 대표적인게 @Autowired 같은 어노테이션
⇒ 빈은 스프링 컨테이너가 생성하고 관리하는 객체, 빈을 등록하는 방법은 @Component, XML 파일 설정 등 자유롭게 할 수 있다.
어렵게 생각할 필요 없이 스프링에서 제공해주는 객체이며, 이 객체를 통해 IoC DI 하는것이다.`
@SpringBootApplication 이해하기
⇒ 해당 애너테이션을 추가하면 스프링 부트 사용에 필요한 기본 설정을 해준다.
SpringApplication.run() 메서드는 애플리케이션을 실행한다. 첫 번째 인수는 부트에서 메인 클래스로 사용할 클래스, 두번째 인수는 커맨드 라인의 인수들을 전달한다.
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
/**
* Exclude specific auto-configuration classes such that they will never be applied.
* @return the classes to exclude
*/
@AliasFor(annotation = EnableAutoConfiguration.class)
@SpringBootConfiguration
- 스프링 부트 관련 설정을 나타내는 애너테이션이다.
@ComponentScan
- 사용자가 등록한 빈을 읽고 등록하는 애너테이션이다. @Component라는 어노테이션을 가진 클래스들을 찾아 빈으로 등록하는 역할을 한다.
- @Configuration, @Repository, @Service 또한 모두 @Component 어노테이션 가지고 있다, 다른이름으로 덮어두었을 뿐
@EnableAutoConfiguration
- 스프링 부트에서 자동 구성을 활성화하는 어노테이션이다. 스프링 부트 서버가 실행될 때 스프링 부트의 메타 파일을 읽고 정의된 설정들을 자동으로 구성하는 역할을 수행한다.
📝새로 배운 개념
자바 17의 새로운 기능
스프링부트 3.0부터는 자바 17 이상을 사용해야 하므로 이러한 새로운 기능을 알고 넘어가두면 좋다.
String query = "SELECT * FROM \\"items\\"\\n +
"WHERE \\"ITEM_NO = \\"12\\"
에서
String query = """
SELECT * FROM "items"
WHERE "ITEM_NO" = "12"
""";
으로 가독성이 좋아졌다.
ES6 같은거니 문법공부 할때 한번쯤 알아두면 좋을거같당.
728x90
'개발 공부 기록 > 07. TIL' 카테고리의 다른 글
스프링 부트 3로 백엔드 입문하기 TIL - 4장 : 스프링 부트 3와 테스트 (0) | 2023.10.24 |
---|---|
스프링 부트 3로 백엔드 입문하기 TIL - 3장 : 스프링 부트 3 구조 이해하기 (0) | 2023.10.24 |
코딩 자율학습 스프링 부트 3 자바 백엔드 개발 입문 TIL - 1장 스프링 부트 시작하기 ~ 2장 MVC 패턴 이해와 실습 (1) | 2023.10.23 |
스프링 부트 핵심가이드 TIL - 11장 (Spring Security) (0) | 2023.10.14 |
스프링 부트 핵심가이드 TIL - 10장 (서버 간 통신) (0) | 2023.10.13 |