https://dzone.com/articles/avoid-spring-annotation-code-smell-use-spring3-custom-annotations
예를들어 이런 코드가 있다.
@Service
@Scope(value = "prototype")
@Transactional(readOnly = true, rollbackFor = RuntimeException.class)
public class UserService {
}
그리고 동일한 스펙으로 다른 Sevice 도 사용한다.
@Service
@Scope(value = "prototype")
@Transactional(readOnly = true, rollbackFor = RuntimeException.class)
public class RoleService {
}
동일한 어노테이션이 반복되는데,
이를 custom annotation 을 정의해서 대체해서 쓰면,
보기도 좋고, 차후 스펙 변경시에 대응하기도 좋다.
@Service
@Scope(value = "prototype")
@Transactional(readOnly = true, rollbackFor = RuntimeException.class)
public @interface ReadOnlyService{
}
이런 내용임.
'dev' 카테고리의 다른 글
kibana 설치 및 실행해보기 (0) | 2017.05.31 |
---|---|
Cobertura - A code coverage utility for Java (0) | 2017.04.04 |
어노테이션 밸류를 runtime 중에 변경하기 (0) | 2017.03.24 |
gitflow vs github vs gitlab flow 비교 (0) | 2017.03.22 |
mysql 무중단 스키마 변경 pt-online-schema-change (0) | 2017.03.21 |