我有一个Spring portlet控制器类。在这个类中,存在这样的依赖:
@Autowired
protected ServiceClass someService;
@Autowired
protected ApplicationContext context;
从控制器中,有一个如下所示的实用程序类:
UtilityClass.loadStaticData((WebApplicationContext)context);
在UtilityClass
内,我有:
public static synchronized boolean loadStaticData(WebApplicationContext context){
ServiceClass someService = (ServiceClass) context.getBean("someService");
...
}
我的问题是:以如此复杂的方式获取someService的句柄是否有任何好处?我们可以将Controller类#1中的引用'someService'传递给UtilityClass。作者不再可用,所以我在这里问。
答案 0 :(得分:0)
这基本上是依赖注入试图避免的:从容器获取依赖,而不是让容器注入依赖。
此实用程序类应该是Spring bean,其中将注入服务。然后,您可以在控制器中注入此实用程序bean。