스프링이 관리하지 않는 응용 프로그램 내 깊은 곳에서 스프링 구성 요소를 액세스하는 가장 좋은 방법은 무엇입니까?깊은 주입 - 스프링
예를 들어 일부 @Controllers가 있다고 가정 해보십시오. 봄에 의해 관리되지 않는 POJO를 통한 추상화 계층을 통해, @Controller는 @Service가 주입되어야하는 POJO를 사용하여 끝날 수 있습니다.
하나의 옵션은 모든 레이어를 봄 구성 요소로 만드는 것이지만 스프링이 나를 도와주기 위해 내 디자인을 해킹하고있는 것처럼 보입니다. 나는 모든 일을 @Autowire해야만하면 깨끗하게 될 수없는 복잡한 일들이있다. 또 다른 옵션은 저수준 클래스에 수동으로 구성 요소를 주입하는 것이지만 이것이 가능한지 또는 올바른 해결책인지는 잘 모르겠습니다.
내 직관은 물건들이 서로 떨어져서 "서로 떨어져서"있다면 서로에 의존해서는 안된다는 것입니다. – rolve
@rolve - 나는 그 의견을 이해할 지 모르겠다.하지만 내 대답은 "그렇지 않다"고 생각한다. LowLevelHelper POJO는 \ @Service 클래스를 사용하여 DB에 액세스해야합니다. 그 위의 레이어에 의존하지 않습니다. –
@rolve - LowLevelHelper POJO가 사용해야하는 스프링 구성 요소가 "레이어"의 맨 위에있는 동일한 구성 요소가 아니라는 혼란을 깨닫고 있습니다. 나는 이것을 게시물에서 클리어 할 것입니다. –