如何把對象手動注入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));

    }

  }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM