본문 바로가기
반응형

Web/Spring Boot8

[Spring] AOP 1. AOP(aspect oriented programming) 관점 지향 프로그래밍 공통된 부가기능을 따로 떼어두고 사용 기능을 핵심 로직과 공통 부가로직으로 구분 코드 밖에서 설정 OOP의 기본단위는 Class 라면, AOP의 기본단위는 Aspect 예시 : 로그인 인증, 로깅, 트랜잭션 처리 2. AOP 구성요소 aspect 공통 기능(부가 기능)을 가지는 대상 advice와 pointcut 으로 구성 pointcut(어디에서) + advice(무엇을 할 것인가) advice 공통 기능(부가 기능)을 담은 구현체 aspect의 세부 내용 예시 : 로그인 체크 기능 (SessionCheck) pointcut advice가 적용될 타겟 지정 기능 타겟 : 어떤 클래스(컨트롤러)의 어느 joinPoint.. 2019. 6. 26.
[Spring] DI (Dependency Injection) DI(Dependency Injection) 1. 객체 의존성 A객체가 B객체를 참조하고 있다면, A객체는 B객체에 의존하고 있다 (의존성을 가진다). 다음 코드의 문제점은? public class Customer { private Food food; public Customer() { this.food = new Pizza("치즈 피자"); } public void eat() { System.out.println("냠냠"); food.showRemainder(); } }Customer 객체는 Food 객체(Pizza)에 의존한다. (new Pizza("치즈 피자")) 이럴 경우, Food 객체를 변경할 경우 의존한 Customer 객체도 변경해야한다. 즉, 하나의 클래스가 바뀌면 의존한 다른 클래스까지.. 2019. 6. 24.
[Spring] Logback 사용법(gradle) 1) gradle dependency 추가 runtimeOnly 'net.rakugakibox.spring.boot:logback-access-spring-boot-starter:2.7.1' 2) application.properties logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE 3) resource 패키지 내 logback.xml 파일 생성 %d{HH:mm:ss.SSS} [%-5level] [%thread] [%logger{36}] - %m%n 4) resoure 패키지 logback-access.xml 파일 생성 %d{HH:mm:ss.SSS} [%-5level] [%thread] [%logger{36}] - %m%n 2019. 6. 18.
[Spring] IoC/DI 1. IoC(Inversion of Control) 제어의 역전 객체의 생성, 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀌었다는 것을 의미한다. 개발자가 직접 객체를 생성하는 것이 아니라, 스프링 프레임워크(IoC 컨테이너)가 대신 해준다. IoC 컨테이너(= Spring 컨테이너, DI 컨테이너) 스프링 프레임워크는 객체에 대한 생성 및 생명주기를 관리할 수 있는 기능을 제공하고 있다. 즉, IoC 컨테이너 기능을 제공한다. 1. 객체의 생성, 의존성 관리 2. POJO의 생성, 초기화, 서비스, 소멸에 대한 권한 존재 (POJO : plain old java object로, 특정 플랫폼이나 규약에 종속되지 않는 객체를 의미한다. Java Bean을 의미) 3. 개발자가 직접 POJO를 생성할 .. 2019. 4. 21.
반응형