ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [일반 스터디]java spring 1일차
    카테고리 없음 2022. 6. 21. 01:25

    AOP

    class A {
        method a(){
        println("안녕하세요")
        println("안녕히 가세요 ")
        }
    }
    1. 바이트 코드를 조작하여 작업하는 방법
    2. proxy pattern 을 이용하는 방법
    @transactional(readOnly = true)

    readOnly transactional을 이용하기 위해서 사용됨.

    Annotaion 만들기

    • 주석같은 친구임.
    • 직접 만들어주어야함.

    AOP 적용 예제
    여기서 해당 로직이 걸리는 시간을 측정할 수 있다.

    @LogExecutionTime 생성하기

    @Component    // bean 으로 등록함
    @Aspect
    public class LogAspect{
    
        Logger logger = LoggerFactory.getLogger(LogAspect.class);
    
        @Around("@annotation(LogExecutionTime)")  // annotation, bean , around 
        public Object logExecutionTime( ProceedingJoinPoint joinPoint ) throws Throwable
        {
            StopWatch stopWatch = new StopWatch();
            stopWatch.start();
    
            Object ret = joinPoint.proceed();
    
            stopWatch.stop();
            logger.info(stopWatch.prettyPrint());
    
            return res;
        }
    }

    PSA 잘만든 인터페이스?

    대부분의
    https://docs.spring.io/spring-framework/docs/current/reference/html/index.html3

    [Spring Framework Documentation

    Overview history, design philosophy, feedback, getting started. Core IoC Container, Events, Resources, i18n, Validation, Data Binding, Type Conversion, SpEL, AOP. Testing Mock Objects, TestContext Framework, Spring MVC Test, WebTestClient. Data Access Tran

    docs.spring.io](https://docs.spring.io/spring-framework/docs/current/reference/html/index.html)

    스프링 트랜잭션

    platformTransctionManager -> 스프링부트에 의해 등록 되어있음. 

    캐시

    @EnableCache

    @Cacheable | @CacheEvict 

    등등 을 사용할 수 있음.

     

     

    웹 MVC

    servlet | Reactive

     

     

     


    스프링 완정 정복 로드맵

     

    - 스프링 입문

    - 스프링 핵심 원리

    - 스프링 웹 MVC

    - 스프링 DB 데이터 접근 기술

    - 실전! 스프링 부트

     

    https://start.spring.io/

     

     

     

     

    환경설정하면 이거 작업하면됨

     

    http://localhost:8080/

    댓글

Designed by Tistory.