如何把对象手动注入Spring容器并实现依赖注入

Posted windpoplar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把对象手动注入Spring容器并实现依赖注入相关的知识,希望对你有一定的参考价值。

将对象注入到Spring容器并实现依赖注入

public class UserDao {

    @Resource

    AccountService accountService;

    public void print(){

        System.out.println(accountService);

    }

}

比如有以上这个类,实现将new UserDao()放入Spring容器中(放入工作由DefaultListableBeanFactory完成),并且AccountService会自动注入(注入工作由AutowireCapableBeanFactory完成)。

@ContextConfiguration(locations = {"classpath:applicationContext.xml"})

@RunWith(SpringJUnit4ClassRunner.class)

public class test{

  @Autowired

    private AutowireCapableBeanFactory beanFactory;

    @Autowired

    DefaultListableBeanFactory defaultListableBeanFactory;

    public void testmenualInject(){

      UserDao userDao=new UserDao();

      //将new出的对象放入Spring容器中

      defaultListableBeanFactory.registerSingleton("userDao",userDao);

      //自动注入依赖

      beanFactory.autowireBean(userDao);

      userDao.print();

//判断new的对象和从容器中拿出的对象是否一致

  System.out.println(defaultListableBeanFactory.getBean("userDao").equals(userDao));

    }

  }

以上是关于如何把对象手动注入Spring容器并实现依赖注入的主要内容,如果未能解决你的问题,请参考以下文章

Spring总结三:DI(依赖注入)

Spring详解------DI依赖注入

Spring的依赖注入

spring------控制反转(IOC)/依赖注入(DI)

Spring in Action读书笔记——容器和依赖注入

Spring IoC容器总结(未完)