본문 바로가기

전체 글81

[springboot] 7. AOP 사용하기 * AOP 란 - AOP 공통기능( 로그, 권한체크, 인증, 예외처리, 트랜잭션) - AOP는 비지니스로직을 구현한 코드에서 직접 호출하지 않고 AOP를 적용하면 컴파일하거나 컴파일된 클래스를 로딩하는 시점에 AOP가 적용된다. * AOP 용어 관점(Aspect) 공통적으로 적용될 기능을 의미, 횡단 관심사의 기능이라 할수 있으며 한개 이상의 포인트컷과 어드바이스의 조합으로 만들어짐 어드바이스(Advice) 관점의 구현체로 조인포인트에 삽입되어 동작하는 것을 의미함. 스프링에서 사용하는 어드바이스는 동작하는 시점에 따라 다섯 종류로 구분됨 조인포인트(Joinpoint) 어드바이스를 적용하는 지점을 의미. 스프링에서 조인포인트는 항상 메소드 실행 단계만 가능함 포인트컷(Pointcut) 어드바이스를 적용할.. 2023. 4. 23.
[springboot] 6. HandlerInterceptor(인터셉터) 사용하기 * HandlerInterceptor(인터셉터) 사용하기 - 스프링의 인터셉터는 URI 호출시 해당 요청의 컨트롤러가 처리 되기 전,후에 작업을 하기 위해 사용됨 - 필터와 인터셉터의 차이점 1) 필터는 dispatchServlet 앞단에서 동작 인터셉터는 dispatchServlet에서 핸들러 컨트롤러로 가기전에 동작 2) 필터는 J@EE 표준스펙의 서블릿 기능 인터셉터는 스프링에서 제공되는 기능으로 필터와 달리 인터셉터에서는 스프링 빈 사용가능 3) 필터는 문자열 인코딩같은 웹전반에서 사용기능 구현 인터셉터는 로그인,인증,권한 같이 클라이언트 요청과 관련 있는 기능 구현 1. HandlerInterceptorAdapter or HandlerInterceptor 로 인터셉터 구현하기 - 스프링에서 인터.. 2023. 4. 23.
[springboot] 5-1. Log4JDBC로 쿼리 로그 정렬하기 * Log4JDBC로 쿼리 로그 정렬하기 - 예전에 사용되던 log4jdbc-remix lib는 개발이 종료 되었다고 한다. 후속버전으로 Log4jdbc-log4j2가 개발됨 1. lib 추가 board\build.gradle - implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16' 추가해준다 group: org.bgee.log4jdbc-log4j2 name: log4jdbc-log4j2-jdbc4.1 version: 1.16 repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa.. 2023. 4. 23.
[springboot] 5. springboot Logback 설정하기 * Logback - log4j 기반으로 작성됨 - log4j 성능보다 10배 정도 빠르고 메모리 사용량도 적다. - log4j는 로그설정을 변경할 경우 서버를 재시작해야 반영되었는데 Logback은 로그설정이 변경될 경우 서버를 재시작하지 않아도 바로 반영된다 - Logback 로깅 구현제로 slf4j(Simple Logging Facade for Java)를 함께 사용 slf4j는 자바의 다양한 로그 모듈들의 추상체로 자바의 인터페이스와 비슷한 역할을 한다. slf4j의 API를 이용할 경우 실제 로깅을 담당하는 로깅 구현체으 ㅣ종류와 상관없이 일관된 로그 코드를 작성가능. 로그출력 등 로깅코드는 slf4j를 이용하면 내부적으로는 log4j,Logback 같은 로깅구현체가 그 기능을 구현한다 - 스프.. 2023. 4. 23.