반응형

프레임워크(Framework)/Spring 55

[Spring MVC] 스프링 MVC란 무엇인가? - 스프링 MVC 구조 이해

본 내용은 온라인 강의 사이트 인프런의 김영한 님의 강의 내용이 포함되어 있습니다. '스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술' 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - www.inflearn.com Intro 스프링 프레임워크의 모듈 중에는 웹 계층을 담당하는 몇 가지 모듈이 있다. 웹 계층에 서블릿(Servlet) API를 기반으로 클라이언트의 요청을 처리하는 모듈이 있는데 이를 스프링 웹 MVC(spring-web-mvc) 또는 스프링 MVC라고 한다. Spring MV..

[Spring] 스프링 AOP 포인트컷(Pointcut) 표현식 정리

포인트컷과 표현식 & 지시자 포인트컷(Pointcut)은 관심 조인 포인트를 결정하므로 어드바이스가 실행되는 시기를 제어할 수 있다. AspectJ는 포인트컷을 편리하게 표현하기 위한 특별한 표현식을 제공한다. @Pointcut(”execution(* hello.aop.order..*(..))”) @Pointcut("execution(* transfer(..))") // 포인트컷 표현식 private void anyOldTransfer() {} // 포인트컷 서명 포인트컷 지시자 포인트컷 표현식은 execution 같은 포인트컷 지시자(PCD : Pointcut Designator)로 시작한다. 포인트컷 지시자 종류 execution : 메서드 실행 조인 포인트를 매칭 한다. 스프링 AOP에서 가장 많이..

[Spring] AOP 용어 및 개념 정리

애스펙트(Aspect) 여러 객체에 공통으로 적용되는 기능 (공통 기능) 어드바이스(Advice) + 포인트 컷(PointCut)을 모듈화 하여 애플리케이션에 포함되는 횡단 기능(Cross-cutting Concerns**)** 여러 개의 어드바이스와 포인트컷이 함께 존재 조인 포인트(join point) 위 이미지의 S는 메서드 실행 전의 포인트이고, E는 메서드 실행 후의 포인트이다. S와 같은 포인트를 어드바이스가 적용될 조인 포인트라고 한다. 클래스 초기화, 객체 인스턴스화, 메서드 호출, 필드 접근, 예외 발생과 같은 애플리케이션 실행 흐름에서의 특정 포인트를 의미한다. 애플리케이션에 새로운 동작을 추가하기 위해 조인포인트에 관심 코드(Aspect code)를 추가할 수 있다. 횡단 관심은 조인..

[Spring] 스프링 조회한 빈(Bean)이 2개 이상인 경우 문제 해결 방법

본 내용은 온라인 강의 사이트 인프런의 김영한 님의 강의 내용이 포함되어 있습니다. '스프링 핵심 원리 - 기본편' 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com Intro @Autowired는 의존성 주입을 위해 생성자 파라미터를 타입으로 조회하기 때문에 빈이 2개 이상 조회될 수 있다. 예를 들어, DiscountPolicy라는 할인 정책 인터페이스가 있으며, 구현체는 고정 할인 정책과 정률 할인 정책인 FixDiscountPolicy, RateDiscountPolicy가 있다. @Component public class Fix..

[Spring] 롬복(Lombok)을 이용한 의존관계 주입 방법

본 내용은 온라인 강의 사이트 인프런의 김영한 님의 강의 내용이 포함되어 있습니다. '스프링 핵심 원리 - 기본편' 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 롬복(Lombok) 롬복은 어노테이션 기반으로 코드를 자동 완성할 수 있는 기능을 제공하는 라이브러리이다. 롬복은 어노테이션을 통해 생성자, Getter, Setter, toString, … 등의 반복적인 메서드 작성을 줄일 수 있다. 롬복의 사용 예시 @Getter @Setter @ToString public class LombokTest { private String ..

[Spring] 스프링 컴포넌트 스캔(Component Scan) 정리

컴포넌트 스캔(Component Scan) 스프링에서는 설정 정보(AppConfig.class) 없이 자동으로 스프링 빈을 등록하는 컴포넌트 스캔 기능을 제공한다. 스프링 빈을 등록할 때는 의존관계를 자바 코드로 직접 등록하는 방법과 컴포넌트 스캔과 자동 의존관계 설정하는 @Autowired를 사용하는 방법이 있다. @ComponentScan은 탐색 위치에 @Component가 붙은 모든 클래스를 스프링 빈으로 등록한다. AutoDependecyConfig.Java @ComponentScan public class AutoDependencyConfig { } 이때 기본적으로 빈 이름은 맨 앞글자를 소문자로 바꿔 사용된다. @Component(”beanName”)과 같이 빈 이름을 직접 설정해 줄 수도 있..

[Spring] 스프링 싱글톤 컨테이너 (웹 애플리케이션과 싱글톤)

본 내용은 온라인 강의 사이트 인프런의 김영한 님의 강의 내용이 포함되어 있습니다. '스프링 핵심 원리 - 기본편' 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com Intro 웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다. 다음과 같이 애플리케이션의 전체 동작 방식이 AppConfig 클래스에 구성되어있다고 가정한다. @Configuration public class AppConfig { @Bean public MemberService memberService() { return new MemberServiceImpl(mem..

[Spring] 스프링 의존성 주입(DI : Dependency Injection) 4가지 방법 (의존 관계 자동 주입)

의존성 주입(DI : Dependency Injection) 방법 의존성 주입에는 4가지 방법이 존재한다. 생성자 주입 수정자 주입 (setter 주입) 필드 주입 일반 메서드 주입 스프링 공식 문서에서는 생성자 주입을 권장하고 있다. 의존 관계가 변경되지 않을 경우 : 생성자 주입 의존 관계가 선택적이거나 변경 가능한 경우 : 수정자 주입(setter 주입) 생성자 주입 생성자 주입은 생성자를 통해서 의존 관계를 주입받는 방법이다. 생성자에 @Autowired를 하면 스프링 컨테이너에 @Component로 등록된 빈에서 생성자에 필요한 빈들을 주입한다. 생성자 주입의 특징 생성자 호출 시점에 1번만 호출되는 것을 보장한다. 불변과 필수 의존 관계에 사용한다. 생성자가 1개만 존재하는 경우 @Autowi..

[Spring] 자바 기반 컨테이너 설정 - @Bean과 @Configuration

자바 기반 설정 자바 코드로 직접 컨테이너를 설정하는 데 사용되는 어노테이션 2가지가 있다. @Configuration @Bean 위 어노테이션은 메서드가 스프링 컨테이너에서 관리할 새 객체를 인스턴스화, 구성 및 초기화한다는 것을 나타내는데 사용한다. @Configuration public class AppConfig { @Bean public AppService appService() { return new AppServiceImpl(); } } XML 설정 방식 스프링 컨테이너를 인스턴스화 하는 방법 스프링 컨테이너를 인스턴스화 하는 방법에는 어노테이션을 통해 Config 클래스를 설정하는 방법이 있다. 스프링 3.0 버전부터는 AnnotationConfigApplicationContext를 도입하..

[Spring] 스프링 빈 생명주기 콜백

본 내용은 온라인 강의 사이트 인프런의 김영한 님의 강의 내용이 포함되어 있습니다. '스프링 핵심 원리 - 기본편' 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 스프링 빈 생명주기 콜백 데이터베이스 커넥션 풀이나, 네트워크 소켓 등 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하기 위해 객체의 초기화와 종료 작업을 해야 한다. 스프링 빈 생명주기 콜백은 스프링 빈이 생성된 이후 의존관계 주입이 완료되면 스프링 빈에게 콜백 메서드를 호출하여 초기화나 종료 시점을 알려..

반응형