본문 바로가기
Java Spring

Spring Boot 기본

by Bill Lab 2024. 9. 15.
728x90

Spring Boot 기초에서 주로 사용하는 dependency?

- Lombok
- Spring Web
- Spring Data JPA(기초일때만 사용)
- H2 Database(다른 DB 이용 시 사용 가능)
- MySQL Driver

 

 

POJO

: Ioc/DI, AOP, PSA 통해 달성, OOP에 충실하면서, 특정 환경과 기술에 종속되지 않고 재사용가능하도록 설계된 Object

예, 툼캣으로 세팅해서 사용중이다가 네티로 변환되더라도, 어플리케이션 레벨에서의 수정은 없어야한다.

-> 테스트 간편화, 확장가능한 유연한 코드사용, 원활한 디버깅 가능

(Spring 은 POJO프로그래밍을 지향하는 프레임 워크!)

 

 

느슨한 결합(DIP의 원칙적용)

: 직접적으로 구현체를 의존성 주입해서 사용하는 것이 아닌 추상체를 두어 사용

(new 연산자 제거)

 

 

IoC(제어의 역전)

: 객체의 생명주기를 Spring 이 관리

 

 

DI(의존성 주입)

: IoC 개념을 적용하기 위해 사용

 

Spring 관련 어노테이션(주석처럼 쓰이나, 특별한 기능이 탑재된 기술, from Java 5)

: 컴파일러에게 코드 작성 문법 에러를 점검 하도록 정보를 제공받고, 빌드나 매치시 코드를 자동으로 생성할 수 있는

정보를 제공, 실행시 해당 기능을 실행할 수 있도록 보장 함

1. @ComponentScan (@SpringBootApplication 내부 기본 패키지로 설정)

    : @Configuration, @Component, @Controller, @service, @Repository 이 있는 클래스 Bean을 찾아 Context에 bean등록을 해주는 역할

     (Spring의 Component Scan에 의해 자동으로 Bean(Java 객체, Application의 구성요소를 관리하는 기본단위) 등록)

 

2. @Component

    : 사용자가 직접 작성한 클래스를 Bean으로 등록 (Bean을 생성하여 ApplicationContext에 등록)

 

3. @Autowired

    : 의존성 주입을 자동으로 수행(필드, 생성자, 메소드를 붙여서 Spring이 해당 의존성을 자동으로 주입)

    (순환참조 발생 > 생성자 주입방식 사용)

 

4. @Qualifier

     : 같은 type의 Bean이 두개이상 존재할 경우 사용, @ Autowired와 함께 사용됨  

       (Bean의 이름이나, 식별자를 명시하여 주입할 Bean을 정확하게 지정 가능)

 

5. @Bean

    : 개발자가 직접 제어할 수 없는 외부 라이브러이를 Bean으로 만들려고 할때 사용

 

6. @Configuration

    : 클래스에서 1개 이상의 Bean을 생성할 때 사용

728x90

'Java Spring' 카테고리의 다른 글

영속성 이란? (Java Spring Boot 완전기초)  (1) 2024.09.16
Spring Boot 완전 기초  (2) 2024.09.15
Java 완전 기초  (1) 2024.09.13
POJO 란 무엇인가?  (0) 2024.09.13
Java 에 대해서  (0) 2024.09.13