spring在application中能使用注入方式吗?

请问在写application时,能够使用spring的几种注入方式吗?
比如下面情况:
配置文件spring.xml如下:
[code="java"]





[/code]
DBHelper类采用设值注入方式:
[code="java"]

private Config config;

public void setConfig(Config config) {
    this.config = config;
}

[/code]
我如何才能使DBHelper在运行时得到Config实例呢?
我使用[code="java"]ApplicationContext context = new FileSystemXmlApplicationContext("./config/spring.xml");[/code]
并不能使DBHelper得到Config实例。
[b]问题补充:[/b]


我知道Config config = context.getBean('config');这样能得到实例。
但是我的意思是想使用注入的方式自动把config实例注入到DBHelper类中,
而不是显式的去使用context.getBean("");
我的问题是标题所写的:[b]spring的几种注入方式能够在application(或者说非web应用)中使用吗[/b]
如果能使用的话,该怎么样使用才能正确注入呢?

你的确注入了啊。。在web应用中,你可以在web.xml中添加:
org.springframework.web.context.ContextLoaderListener




contextConfigLocation

/WEB-INF/applicationContext.xml
来让容器加载的时候创建spring对象
在servlet中可以用:
ApplicationContext ctx =
WebApplicationContextUtils.getWebApplicationContext( this.getServletConfig().getServletContext());
获得容器实例

然后就可以
DBHelper dbHelper=(DBHelper)context.getBean("DBHelper");
得到DBHelper对象,并且这个对象里有config对象

分享Spring中接口注入的三种方式
http://www.sql163.com/html/article/2009-9/200996105227.html

DBHelper db = context.getBean('DBHelper');这样不就得到DBHelper了嘛

Config config = context.getBean('config');这样不就得到Config 了嘛

DBHelper dbHelper=(DBHelper)context.getBean("DBHelper");

当然可以用在非web应用中
也一样的配置嘛

web和非web配置spring中bean之间的依赖关系是没什么变化的

非web中就如你写的

  1. ApplicationContext context = new FileSystemXmlApplicationContext("./config/spring.xml");
    得到spring容器对象,然后就可以getBean了啊。。得到的bean都是已经注入好的呀