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条)

报告相同问题?

悬赏问题

  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考