나는 봄 mvc 응용 프로그램을 개발 중이다.스프링 컨트롤러에 10 개 이상의 서비스를 주입하려면 어떤 방법을 사용해야합니까?
저는 10 개 이상의 서비스를 주입 할 컨트롤러가 있습니다.
나는이 컨트롤러에서 10+ URL을 노출하고 있으며 각 메서드에서 one or two service
개체를 사용하고 있습니다.
나는 두 가지 접근법을 생각하고있었습니다.
- @Autowired를 사용하여 모든 서비스를 직접 주입하십시오.
- 필요할 때마다 런타임에 ApplicationContext에서 런타임에 서비스를 가져옵니다.
은 더 나은 또는 둘 다 접근 방식은 메모리 사용량과 시간이 대부분의 경우
'Code Smell' 문제와'Single Responsibility Principle '을 지적 해 주셔서 감사합니다. 나는 내 관제사를 부인하고 Single Responsibility Priciple을 시행하려고 노력할 것이다. –
답변에서 한 가지 질문이 있습니다. 당신이 언급했듯이, 두 접근법은 모두 평범한 해결책이므로 피해야합니다. 이것으로 당신은 주사를 피하고 새로운 것을 사용하여 물건을 만들어야한다고 말하려고합니까? –
10 가지 종속성을 피하는 것이 좋습니다. 컨트롤러를 해체하고'@ Autowired '를 사용하여 관련 의존성을 주입해야한다. – geoand