將對象注入到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));
}
}