@Repository 및 @Service 스프링 주석
@Repository 및 @Service 를 사용하면 어떤 이점이 있습니까?
구성 요소 스캔 등에 대해 말하지 마십시오. 추가 혜택이나 기능이 있으면 기대하고 있습니다.
사용하지 않으면 어떻게 되나요? 내가 놓친 것은 무엇입니까?
몇 가지 이유가 있습니다.
- 보다 구체적인 주석으로 포인트 컷을 대상으로 지정하는 것이 더 쉽습니다. 마십시오 하지 이의 유용성을 과소 평가!
@Repository
주석은 함께 몇 가지 추가 기능을 수행합니다 : 그것은 예외가되게 로 싸서DataAccessException
들 .@Service
주석은 향후 추가적인 의미를 얻을 수 있지만, 아직 일이 아니에요 ...
@Repository
(스프링 2.0에서 소개) 주석과 @Service
(스프링 2.5에서 소개) 주석의 전문입니다 @Component
주석.
@Repository
or @Service
over 를 사용하는 주요 이점은 @Component
예를 들어 .NET으로 주석이 추가 된 모든 클래스를 대상으로하는 AOP 포인트 컷을 작성하는 것이 쉽다는 것입니다 @Repository
.
또한 특수 주석은 애플리케이션 계층을 명확하게 구분하는 데 도움이됩니다 (표준 3 계층 애플리케이션에서).
저는 Spring이 이러한 Component 어노테이션을 추가 할 때 염두에 둔 두 가지가 있다고 생각합니다.
- 해당 하위 구성 요소로 주석이 달린 모든 객체에서 점 절단을 지정하는 데 사용할 수 있습니다. (모든 @Repository 또는 모든 @Service 포인트 컷)
- 나는 Spring이 또한 그들이 미래의 기능을 추가 할 것이라고 언급했다고 생각한다. (나는 이것에 대한 인용이 없습니다. 어딘가에서 읽은 것 같습니다)
TDD를 사용 하는 경우 정의한 모든 @Autowired 구성 요소를 완전히 주입하는 이점이 있으므로 @Services를 신중하게 디자인하는 것이 좋습니다 (물론 테스트).
예를 들어 @Controller에 직접 기능을 구현할 수 있지만이 경우 테스트가 더 어려워지고 모든 모의 요소를 정의해야합니다 (springframework 3.1에서는 훨씬 더 쉽지만 여전히 "나쁜 디자인").
참고 URL : https://stackoverflow.com/questions/6256331/spring-annotations-repository-and-service
'program tip' 카테고리의 다른 글
Vb.NET 또는 C #을 사용하여 프로세스를 어떻게 종료합니까? (0) | 2020.11.01 |
---|---|
Git : 커밋간에 앞뒤로 이동하는 방법 (0) | 2020.11.01 |
베어 git 저장소를 일반 저장소로 어떻게 변환합니까? (0) | 2020.11.01 |
응용 프로그램을로드 할 수 없습니다. (0) | 2020.10.31 |
유닉스 쉘에서 임의의 파일 이름 생성 (0) | 2020.10.31 |