0

我有一个 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。作者不在了,所以我在这里问。

4

1 回答 1

0

这基本上是依赖注入试图避免的:从容器中获取依赖,而不是让容器注入依赖。

这个实用程序类应该是一个 Spring bean,服务将在其中注入。然后您可以将这个实用程序 bean 注入到控制器中。

于 2013-04-16T20:42:25.077 回答