iteye_3177 2009-10-15 16:35
浏览 237
已采纳

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]
如果能使用的话,该怎么样使用才能正确注入呢?

  • 写回答

7条回答 默认 最新

  • iteye_11438 2009-10-15 16:56
    关注

    你的确注入了啊。。在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对象

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)