dev/java 5

Spring @Validated 어노테이션 사용하기

@Validated 어노테이션은 JSR-303 스펙의 @Valid 어노테이션을 확장(?)한 스프링의 어노테이션이다. Bean validation을 하는데 추가로 group을 지정할 수 있다. @Validated에 group을 지정하면 bean에서 groups를 지정한 bean validation annotation만 동작하며@Validated에 group를 지정하지 않으면 bean에서도 groups를 지정하지 않은 bean validation annotation만 동작한다. 이것을 피하려면 javax.validation.groups.Default 를 groups에 함께 지정하면 된다.(group interface가 javax.validation.groups.Default 를 상속하는 방법도 있지만, 정상..

dev/java 2018.07.22

change maven local repository path

메이븐은 기본 레파지토리 경로는 ${user.home}/.m2/repository 인데, 이게 자꾸 용량이 거대해져서, 시스템 드라이브 용량이 부족하다. 그리하여 경로를 다른 드라이브로 변경하려고 한다. User Settings 파일 필요하다.경로는 ${user.home}/.m2/settings.xml 이다. {변경할 경로} 위와같이 작성을 해주면 된다. 경로는 .m2가 아니라, 그 하위 repository에 해당한다.

dev/java 2018.04.09

[JAVA] AOP 용어 정리

AOP(Aspect Oriented Programming) 말 그대로 관점 지향 프로그래밍이다. 예로 스프링에서 @Transactional 어노테이션이 AOP로 구현된다.코드가 많은 트랜잭션 처리를 쉽게 할 수 있다는 장점이 AOP를 잘 설명 해주는 것 같다. 기본적인 용어crosscutting concerns(횡단 관심): OOP로 모듈화 시키기 어려운, 특정 처리구문(?) 예로 로깅, 보안, 트랜잭션, 예외처리, 등등advice(어드바이스): 실행할 부가적인 기능(실제 코드)target(타겟): 어드바이스를 적용할 대상 객체joinpoint(조인포인트): 어드바이스를 삽입할 특정 지점pointcut(포인트컷): 조인포인트를 선별하기 위한 정의weaving(위빙): 포인트컷으로 선별된 조인포인트에 어드..

dev/java 2017.03.05