스프링 주석 @Repository 및 @Service
@Repository 및 @Service를 사용할 경우의 이점은 무엇입니까?
부품 스캔 등에 대해서는 말하지 마시고, 추가적인 혜택이나 기능이 있다면 기대하고 있습니다.
만약 내가 그것을 사용하지 않으면 어떻게 됩니까? 내가 놓치게 되는 것은 무엇입니까?
몇 가지 이유가 있습니다.
- 보다 구체적인 주석을 사용하여 포인트 컷을 대상으로 지정하는 것이 더 쉽습니다.이것의 유용성을 과소평가하지 마십시오!
- 그
@Repository
주석은 몇 가지 추가 기능을 수반합니다. 이로 인해 예외는 s로 요약됩니다. - 그
@Service
주석은 향후 추가적인 의미론을 얻을 수 있지만 아직 일어나지 않았습니다.
그@Repository
주석(스프링 2.0에 도입) 및@Service
주석(봄 2.5에 도입)은 전문화된@Component
주석.
사용의 주요 장점@Repository
아니면@Service
위에@Component
예를 들어 다음과 같이 주석이 달린 모든 클래스를 대상으로 하는 AOP 포인트컷을 작성하는 것이 쉽다는 것입니다.@Repository
.
또한 전문화된 주석을 통해 애플리케이션 계층(표준 3계층 애플리케이션)을 명확하게 정의할 수 있습니다.
이 Component 주석을 추가할 때 Spring이 염두에 둔 것은 두 가지라고 생각합니다.
- 이들은 해당 하위 구성요소로 주석이 달린 모든 객체에 걸쳐 점 절단을 지정하는 데 사용할 수 있습니다. (모든 @Repository 또는 모든 @Service 점 절단)
- Spring도 미래의 기능을 추가할 것이라고 언급한 것 같습니다.(나는 이것에 대한 인용이 없습니다. 어디선가 이것을 읽은 것 같습니다.)
TDD를 사용하는 경우 @Services는 정의한 모든 @Autowired 구성 요소를 완전히 주입할 수 있으므로 신중하게 설계(물론 테스트)하는 것이 유용합니다.
예를 들어 @Controller에 기능을 직접 구현할 수도 있지만, 이 경우 테스트가 더 어려워지기 때문에 모든 모의 요소를 정의해야 합니다(스프링 프레임워크 3.1에서는 상당히 쉽지만 여전히 "나쁜 설계").
언급URL : https://stackoverflow.com/questions/6256331/spring-annotations-repository-and-service
'bestsource' 카테고리의 다른 글
"mvn clean install" 실행 중 WARN 메시지 수정 방법 (0) | 2023.09.11 |
---|---|
약속을 사용하여 node.js에서 MySQL 반환 값을 처리합니다. (0) | 2023.09.06 |
html5 입력형 번호로 Float 및 10진수 구분자를 처리하는 방법 (0) | 2023.09.06 |
드롭다운 메뉴를 기반으로 여러 개의 텍스트 표시 (0) | 2023.09.06 |
CMD를 사용하여 SQL 데이터베이스 가져오기 - 고유 액세스 거부 오류 (0) | 2023.09.06 |