Spring如何在Java应用程序中自动实现依赖注入

最近开发一个Java应用程序,希望能使用Spring来实现依赖注入。


在Web应用程序中,可以在web.xml文件中配置listener来自动实现注入。


在Java Application中,可以通过如下的方式来加载Spring:


ClassPathXmlApplicationContext ctx = new FileSystemXMLApplicationContext("beans.xml");

Hello hello = ctx.getBeans("hello");

但这样的一个问题是,在每次使用一个bean时,都需要显示调用一次getBeans。


不知有什么好的方法,能够让Spring自动加载对象,而不需要显式调用getBeans?

更多 0


哆啦的时光机
浏览 601回答 5
5回答

米琪卡哇伊

照着你的例子再往下写两行。public class Main{  public static void main(String[] args){    ClassPathXmlApplicationContext ctx = new FileSystemXMLApplicationContext("beans.xml");    Hello hello = ctx.getBeans("hello");    hello.say();  }}class Hello {  @Autowired  private DbUtil db;  public void say(){    System.out.println(db.getWelcomeInfo());  }}web项目里最初处理请求的那一层还是需要通过getBeans()生成的。只不过这个步骤是 tomcat/strtus/springMVC做的。Spring 会为被他管理的类实现自动注入,然而你程序启动的main类并不是由 Spring 管理生成的。

慕盖茨4494581

你需要Autowired

慕斯王

使用Spring的依赖注入你首先要从Spring中获取bean,这样才能保证bean的依赖已经注入了。你自己new一个对象出来,Spring怎么可能帮你注入呢?你可以自己把getBeans方法封装一下

侃侃无极

你要把你的HELLO当成成员变量,然后再去@autowired 或者@Resourse
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java