반응형
SMALL

Spring 41

Spring 전체구조

Spring framework의 핵심 기능은 IoC컨테이너, 의존성 주입, 자동 연결 등 코어라 불리는 모듈에 속함. 웹 애플리케이션, REST API를 빌드할 때 Spring MVC 사용 웹 애플리케이션, REST API 보안을 추가할 때 Spring Securiity 사용 리액티브 애플리케이션을 빌드할 때는 Spring WebFlux 등 모듈 사용 DB에서 데이터에 액세스 할때는 Spring JDBC 사용 여러 DB와 통합할 때는 Spring Data 사용 다른 애플리케이션과 통합할때는 Spring JMS 사용 다른 애플리케이션과 통합할때 Spring Integration 프로젝트 유용 단위 테스트를 작성할 때는 Spring test 모듈을 사용 빌드할려는 애플리케이션 유형에 따라서 Spring 모듈..

Spring Stereotype Annotations

@Service - 비즈니스 로직가 있음을 나타냄, 클래스에 비즈니스 논리가 있다면 사용 @Controller - 웹 애플리케이션과 REST API에서 컨트롤러를 정의하는데 사용 @Repository - Bean이 DB와 통신하는 경우 데이터를 저장하거나 검색, 조작하는 경우(MySQL, MonggoDB) 사용이유 1.구체적인 Annotations사용함으로써 프레임워크에 의도했던 바를 더 자세하게 나타냄. 2.AOP(관점 지향 프로그래밍)를 사용하여 Annotations을 감지하고 부가적인 동작을 추가할 수 있음

@Component, @Bean 비교

@Component 모든 자바클래스에서 사용 가능 Autowiring - 생성자 주입, 수정자 주입, 필드 주입 중 하나를 쓸 수 있음 Spring Framewokr는 컴포넌트 스캔을 수행 일반적으로 대부분 Component가 권장, 애플리케이션을 생성하는 경우 내부에서 컴포넌트 클래스에 대한 코드를 작성하고, 컴포넌트 클래스에 대한 Bean을 생성하는 경우. ​ @Bean 특정 메소드에 적용, 일반적으로 Spring Configuration클래스의 메소드에서 사용 Autowiring - 특정 메소드를 호출 ​ 자주 사용 되는 상황 → 비즈니스 로직이 많거나, Spring 시큐리티와 같은 제3자 라이브러리에 대한 Bean을 인스턴스화 할때

Spring 용어 정리

@Component - 클래스의 인스턴스는 Spring 프레임워크가 관리함. Dependency ​ @ComponentScan - 패키지를 검색해서 컴포넌트를 찾아냄, 패키지 입력하지 않을 시 현 패키지와 하위 패키지가 이 Spring프레임 워크에 의해 스캔. 밑 줄은 특정 패키지를 검색 @ComponentScan("package com.in28minutes.learnspringframework") Dependency Injection - Bean과 의존성을 식별하여 와이어링 함 이 전체 프로세스를 의존성 주입이라고 함(즉 와이어링 하는 작업) IOC - 제어 반전(inversion of control) 의 약자 ​ Spring Bean - Spring 프레임워크가 관리하는 모든 객체를 Spring Be..

Spring Framework, @Primary, @Qualifier

Spring 컨테이너 - Spring Bean과 생명주기를 관리함 애플리케이션 컨텍스트 - 엔터프라이즈 애플리케이션에서 애플리케이션 컨텍스트를 사용. 웹 애플리케이션과 REST API, 마이크로서비스 같은 웹 서비스에 애플리케이션 컨텍스트가 권장(웹 애플리케이션, REST API, 마이크로서비스에는 애플리케이션 컨텍스트 권장(Spring IOC컨테이너) ​ @Primary - 여러 후보가 자격이 있는 경우, Bean에게 우선권을 주는 것을 말함. @Qualifier - 특정 Bean이 자동 와이어링 되어있어야함. 특정하게 지정된 Bean을 자동 와이어링 하는 것. ​ @Qualifier가 @Primary 보다 더 높은 우선순위를 가지고 있음. ​ 출력값 Constructor Injection - Your..

반응형
LIST