loading

새소식

Framework/Springboot

[SpringBoot 3] 스프링 부트란?

  • -
728x90
반응형

▶ 스프링 프레임워크 : 서버 성능, 안정성, 보안을 매우 높은 수준으로 제공하는 도구

 => 개발자들이 기능 개발에 집중할 수 있게 도와줌

 => 단점 : 설정이 매우 복잡함. -> "스프링부트" 가 이를 해결

 

▶ 스프링 부트의 주요 특징 

1. WAS 를 따로 설치할 필요 없음. => 독립적으로 실행 가능

2. 스프링 부트 스타터(빌드 구성을 단순화 함)를 제공

3. XML 설정 필요 X, 자바 코드로 모두 작성 가능.

4. 자바 옵션만으로도 배포가 가능

5. Spring Actuator(application 의 모니터링 및 관리 도구)를 제공

 

▶ 스프링 컨셉

1. IoC(Inversion of Control) : 다른 객체를 직접 생성하거나 제어하는 것이 아니라 외부에서 관리하는 객체를 가져와 사용 하는 것

2. DI (Dependency Injection) : IoC를 구현하기 위해 사용하는 방법으로, 어떤 클래스가 다른 클래스에 의존한다는 뜻

3. 빈(Bean) : 스프링에서 제공해주는 객체

4. 스프링 컨테이너 :: 빈(Bean)이 생성되고 소멸되기까지의 생명주기를 관리한다.

5. AOP(Aspect Oriented Programming) : 관점 지향 프로그래밍. 프로그래밍에 대한 관점을 핵심 관점, 부가 관점으로 나눠서 관심 기준으로 모듈화 하는 것.

=> 프로그래머가 핵심 관점 코드에만 집중할 수 있게 됌

=> 프로그램의 변경, 확장에 유연하게 대응 가능

6. PSA (Portable Service Abstraction) : 이식 가능한 서비스 추상화

 => 스프링에서 제공하는 다양한 기술들을 추상화하여 개발자가 쉽게 사용하는 인터페이스

 

▶ 스프링 부트 기본 설정들

1. 스프링 부트 스타터 (spring-boot-starter- " ") : 필요한 기능을 간편하게 설정할 수 있는 의존성이 모여 있는 그룹

ex) spring-bootstarter-web, spring-bootstarter-jdbc, spring-bootstarter-test ...

2.자동 구성(autoconfigure) : 애플리케이션이 최소한의 설정만으로도 실행되게 여러 부분을 자동으로 구성하는 기술

 => spring-boot-autoconfigure\META_INF\spring.factories 에 존재

 

▶ @SpringBootApplication

 1. @SpringBootConfiguration : 스프링 부트 관련 설정을 나타내는 애너테이션

 2. @ComponentScan : 사용자가 등록한 빈을 읽고 등록하는 애너테이션

 ex) @Component => @Controller => @RestController 

 3. @EnableAutoConfiguration : 스프링 부트의 메타 파일을 읽고 정의된 설정들을 자동으로 구성하는 역할을 수행

728x90
반응형
Contents

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

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