스프링부트에서 AOP 구현은 프록시를 활용하며 @Aspect 어노테이션을 제공하여 구현 편의성을 제공해준다. 스프링부트에서 AOP 를 구현하기 위해선 @Aspect 에 대해 알아야 하며 이와 관련된 용어에 대해 숙지하고 있어야 한다. AOP 관련 용어 조인 포인트(Join point) 어드바이스가 적용될 수 있는 위치, 메소드 실행, 생성자 호출, 필드 값 접근, static 메서드 접근 같은 프로그램 실행 중 지점 조인 포인트는 추상적인 개념이다. AOP를 적용할 수 있는 모든 지점이라 생각하면 된다. 스프링 AOP는 프록시 방식을 사용하므로 조인 포인트는 항상 메소드 실행 지점으로 제한된다. 포인트컷(Pointcut) 조인 포인트 중에서 어드바이스가 적용될 위치를 선별하는 기능 주로 AspectJ 표..
java
이번 글에선 자바 JPA 에 대해 알아보고자 한다. 자바 JPA 란 ORM (Object–relational mapping) 기법을 자바에 적용하기 위해 만들어진 API 표준 이다. 인터페이스로서의 역할만 하기 때문에 실질적인 구현체들은 자바에서 제공해주는 JPA 를 인터페이스로 사용하여 만들어져 있다. 대표적인 JPA 구현체들은 Hibernate, EclipseLink, DataNucleus, OpenJap, TopLink 등이 있고 하고 개인적으론 Hibernate 만 써보아서 각 구현체들에 대한 장단점은 아직 잘 모르겠다. 그리고 Java JPA 에선 영속성 컨텍스트(Persistence Context) 라는 개념이 나오는데 JPA 에선 이 영속성 컨텍스트에 대해 꼭 알아야한다. 그럼 영속성 컨텍스..