在弹簧控制器中传递注入依赖的参考的最佳方法

时间:2013-04-16 19:03:34

标签: spring-mvc dependency-injection autowired

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

1 个答案:

答案 0 :(得分:0)

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

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