예전에 커스텀 어노테이션을 만드는 방법에 대해 글을 정리했었다. https://pamyferret.tistory.com/47 custom annotation(커스텀 어노테이션) 만들기 개발을 하다보면 AOP 적용을 위해서 별도로 커스텀 어노테이션을 만들어야할 일이 생긴다. 물론 AOP 적용을 패턴을 통해 적용시킬 수 있지만 같은 공통 기능을 사용해야하는 메소드들에 공통점이 pamyferret.tistory.com 그 때 만들었던 커스텀 어노테이션은 단순히 속성 값을 하나만 받는 어노테이션이었다. 하지만 만일 하나의 속성에 대해 값을 여러 개 받아야하는 경우 어떻게 해야할까? 그럴 때는 해당 속성의 타입을 배열로 지정하면 간단하게 끝날 일이다. 참고로 List와 같은 컬렉션은 어노테이션의 멤버로 설정이 불..
개발을 하다보면 AOP 적용을 위해서 별도로 커스텀 어노테이션을 만들어야할 일이 생긴다. 물론 AOP 적용을 패턴을 통해 적용시킬 수 있지만 같은 공통 기능을 사용해야하는 메소드들에 공통점이 없다면? 커스텀 어노테이션을 만들어서 해당 메소드에 공통 기능을 사용하겠다고 표시를 해 AOP 설정을 할 수 있다. Annotation(어노테이션) 이란? 그렇다면 먼저 어노테이션이란 무엇인지 개념을 살짝 짚고 가보자. 개발을 하다보면 @Getter, @Setter 등의 어노테이션을 자연스럽게 사용하고 있다. 하지만 그래서 어노테이션이 뭔데요? 라고 누가 물어보면 설명을 잘 할 수 없을 때가 있다. 그래서 어노테이션이란 무엇인가? 간단하게 설명하면 일종의 메타 데이터를 의미한다. 해당 데이터를 바탕으로 자동으로 기능..
스프링부트로 백엔드 개발을 하다보니 자연스럽게 lombok 라이브러리를 많이 사용하게 되었다. @Getter, @Setter, @RequiredArgsConstructor...등 lombok 어노테이션으로 빈에 필요한 기능들을 간단하게 구현할 수 있다. 그래서 아래와 같이 dependency를 설정한다. - gradle compileOnly 'org.projectlombok:lombok:1.18.20' annotationProcessor 'org.projectlombok:lombok:1.18.20' testCompileOnly 'org.projectlombok:lombok:1.18.20' testAnnotationProcessor 'org.projectlombok:lombok:1.18.20' - mave..
최근에 Enum을 이렇게도 저렇게도 사용해보게 되었다. 그 동안 회사 프로젝트에서는 왜 사용을 안 했는지 정말 후회되는 Enum... 나 처럼 enum을 처음 사용해보는 사람은 JPA를 사용할 때 entity에 enum class를 column으로 사용했을 때 DB에 원하던 enum 값(name)이 아니라 enum의 해당 값의 index가 들어가는 현상을 확인할 수도 있다. 예를 들어 아래와 같은 enum이 있다고 하자. @Getter public enum Menu { BULGOGI_PIZZA(10000, "PIZZA"), CHEESE_PIZZA(8000, "PIZZA"), POTATO_PIZZA(11000, "PIZZA"), ; } 또한 해당 Menu enum을 이용해서 아래와 같은 entity를 구성..
- Total
- Today
- Yesterday
- 자바
- HttpClient
- k8s
- rabbitmq
- cache
- springboot
- Spring
- 메시지큐
- 스프링부트
- ssh
- postgres
- enum
- annotation
- eclipse
- 어노테이션
- Intellij
- DATABASE
- 이클립스
- 데이터베이스
- 캐시
- 공간데이터
- Caching
- mockito
- Java
- MAC
- 캐싱
- 역직렬화
- PostgreSQL
- JPA
- DB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |