Spring Framework/Spring 5

[Spring] 5. AOP

AOP1. AOP란?관점 지향 프로그래밍(Aspect Oriented Programming)의 약자로, 중복되는 공통 코드를 분리하고 코드 실행 전이나 후의 시점에 해당 코드를 삽입함으로써 소스 코드의 중복을 줄이고, 필요할 때마다 가져다 쓸 수 있게 객체화하는 기술을 말한다. 2. AOP 핵심 용어용어설명Aspect핵심 비즈니스 로직과는 별도로 수행되는 횡단 관심사.Advice + PointcutAdviceAspect의 기능 자체. (분리해놓은) 부가 코드가 작성되어 있는 것Join pointAdvice가 적용될 수 있는 위치.부가 코드를 삽입하려는 주요 코드의 위치 (한 지점)PointcutJoin point 중에서 Advice가 적용될 가능성이 있는 부분을 선별한 것.WeavingAdvice를 핵심..

[Spring] 3. DI Annotation

예제 디렉토리 구조 및 공통 클래스@Getter@Setter@ToString@AllArgsConstructorpublic class BookDTO { private int sequence; //도서번호 private int isbn; //isbn private String title; //제목 private String author; //저자 private String publisher; //출판사 private Date createdDate; //출판일}public interface BookDAO { /* 도서 목록 전체 조회 */ List selectBookList(); /* 도서 번호로 도서 조회 */ BookDTO selectOneBook(in..

[Spring] 2. Dependency Injection

Dependency Injection(의존성 주입, DI)이란?: 객체 간의 의존 관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결해주는 것- 이를 통해 객체 간의 결합도를 낮출 수 있으며, 유지보수성과 유연성이 증가한다. 1. 의존 관계와 결합도- 클래스 A가 클래스 B를 필드로 가질 때 A는 B에 의존한다.public class A { private B b = new B(); } public class B { } - 아래와 같이 클래스명이 B에서 NewB로 바뀌게 되면 컴파일 에러가 발생한다.public class A { private B b = new B(); } public class NewB { } - 의존성이 강하다= 한 객체가 변경되면 이에 의존하는 다른 객체들도 함께 변경돼야 한다...

[Spring] 1. IoC Container

IoC와 IoC Container의 정의1. IoC(Inversion of Control, 제어의 역전)란?: 일반적인 프로그래밍에서, 프로그램의 제어 흐름 구조가 뒤바뀌는 것- 객체의 생성, 관리, 객체 간의 의존성 처리 등을 프레임워크에서 대신 처리해주는 것이 IoC의 대표적인 예이다.  ㄴ> 객체를 관리하는 게 개발자가 아니라 IoC container가 주도권을 갖고 처리하는 것을 제어의 역전이라 한다. 2. IoC Container란?: IoC를 구현한 구체적인 프레임워크(= 제어의 역전이 구현되어 있는 프레임워크)- IoC Container를 이용하면 객체 생성, 초기화, 의존성 처리 등을 자동으로 수행할 수 있다.- 대표적인 IoC Container로는 Spring Framework의 Appl..