어노테이션 3

[Spring] Service 객체에서 초기화 하는 init 메소드 만들기

어떤 @Service 어노테이션을 쓰는 비지니스 로직이 있는 객체에서 나의 경우에는 Map을 초기화 해놓고 싶었다. 그러니까 소스로 예를 들면, @Service public class test { public Map map; // 이거 초기화 세팅을 어디서...? public void foo() { map.get("key"); } } 저 map을 초기화 해놓고 foo() 메소드에서 쓰고싶은데 어떻게 하면 좋을까? 예전에는 bean 설정에서 init-method 설정을 통해 초기화해주는 메소드에서 구현하면 되었다. 아래와 같이 initData 메소드에서 세팅하면 된다. 근데 어노테이션으로 간단히 하려면. 아래와 같이 사용하면 된다. @Service public class test { public Map m..

개발/Spring 2014.05.15

Custom annotation 만들기 (Spirng AOP 이용)

예전 블로그에 올렸던거 슬슬 여기로 옮겨놔야지..다시 정리해본다ㅎㅎ 사용자가 만들어 사용하는 Custom Annotation은 어떻게 효과적으로 응용할 수 있는지 궁금할 것이다.인터넷에 예제도 별로 없고.. 내가 짠 것은 아니지만, Spring 프렘웍의 AOP를 이용해서 만든 커스텀 어노테이션 사용법에 대해서 정리하겠다 * AOP(Aspect Oriented Programming)이란? 먼저, OOP(Object Oriented Programming)의 경우, 객체 단위로 기능을 묶어서 코딩하는 방법이다.이런 구현방법이 단점이 될 상황이 있다. 사용자 인증을 항상 해야 한다고 하면, 객체마다 반복되는 코드가 생기게 될 것이다. 그래서 사용자 인증 같이 자주 사용되는 코드를 단위로 묶어서 필요할 때마다 삽..

개발/Spring 2013.04.09

@Data annotation이 작동 안할 때 (lombok)

java에서 getter, setter를 일일이 생성하지 않고도 lombok 라이브러리의 @Data 어노테이션을 선언하고 필드를 선언하면 각 필드의 게터 세터가 자동으로 생성이 된다. 그런데, outline을 확인해보면 get, set이 안되어있는 경우가 있다. 그럴 때는 해당 라이브러리인 lombok이 있는 디렉토리로 들어가 실행을 한다. 그러면 이클립스가 나타나고 install/update 버튼을 누른다. parameter를 추가하라고 나올 것이다. 그러면 eclipse.ini 또는 STS.ini (나는 스프링을 쓰므로) 를 열어서 -javaaget:lombok.jar -Xbootclasspath/a:lombok.jar 를 추가한 후 이클립스를 다시 켠다. 그래도 안되면 .class 파일을 다시 떨구..

개발/Spring 2012.08.28