bestsource

스프링 주석 @Repository 및 @Service

bestsource 2023. 9. 6. 22:12
반응형

스프링 주석 @Repository 및 @Service

@Repository@Service 사용할 경우의 이점은 무엇입니까?

부품 스캔 등에 대해서는 말하지 마시고, 추가적인 혜택이나 기능이 있다면 기대하고 있습니다.

만약 내가 그것을 사용하지 않으면 어떻게 됩니까? 내가 놓치게 되는 것은 무엇입니까?

몇 가지 이유가 있습니다.

  1. 보다 구체적인 주석을 사용하여 포인트 컷을 대상으로 지정하는 것이 더 쉽습니다.이것의 유용성을 과소평가하지 마십시오!
  2. @Repository주석은 몇 가지 추가 기능을 수반합니다. 이로 인해 예외는 s로 요약됩니다.
  3. @Service주석은 향후 추가적인 의미론을 얻을있지만 아직 일어나지 않았습니다.

@Repository주석(스프링 2.0에 도입) 및@Service주석(봄 2.5에 도입)은 전문화된@Component주석.

사용의 주요 장점@Repository아니면@Service위에@Component예를 들어 다음과 같이 주석이 달린 모든 클래스를 대상으로 하는 AOP 포인트컷을 작성하는 것이 쉽다는 것입니다.@Repository.

또한 전문화된 주석을 통해 애플리케이션 계층(표준 3계층 애플리케이션)을 명확하게 정의할 수 있습니다.

이 Component 주석을 추가할 때 Spring이 염두에 둔 것은 두 가지라고 생각합니다.

  1. 이들은 해당 하위 구성요소로 주석이 달린 모든 객체에 걸쳐 점 절단을 지정하는 데 사용할 수 있습니다. (모든 @Repository 또는 모든 @Service 점 절단)
  2. Spring도 미래의 기능을 추가할 것이라고 언급한 것 같습니다.(나는 이것에 대한 인용이 없습니다. 어디선가 이것을 읽은 것 같습니다.)

TDD를 사용하는 경우 @Services는 정의한 모든 @Autowired 구성 요소를 완전히 주입할 수 있으므로 신중하게 설계(물론 테스트)하는 것이 유용합니다.

예를 들어 @Controller에 기능을 직접 구현할 수도 있지만, 이 경우 테스트가 더 어려워지기 때문에 모든 모의 요소를 정의해야 합니다(스프링 프레임워크 3.1에서는 상당히 쉽지만 여전히 "나쁜 설계").

언급URL : https://stackoverflow.com/questions/6256331/spring-annotations-repository-and-service

반응형