将对象注入到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容器并实现依赖注入的更多相关文章

  1. [转]使用@Test 也可以从spring容器中获取依赖注入

    转自:http://blog.csdn.net/u010987379/article/details/52091790 @RunWith(SpringJUnit4ClassRunner.class) ...

  2. spring 控制反转与依赖注入原理-学习笔记

    在Spring中有两个非常重要的概念,控制反转和依赖注入:控制反转将依赖对象的创建和管理交由Spring容器,而依赖注入则是在控制反转的基础上将Spring容器管理的依赖对象注入到应用之中: 所谓依赖 ...

  3. 回客科技 面试的 实现ioc 容器用到的技术,简述BeanFactory的实现原理,大搜车面试的 spring 怎么实现的依赖注入(DI)

    前言:这几天的面试,感觉自己对spring 的整个掌握还是很薄弱.所以需要继续加强. 这里说明一下spring的这几个面试题,但是实际的感觉还是不对的,这种问题我认为需要真正读了spring的源码后说 ...

  4. Servlet自动注入Spring容器中的Bean解决方法

    很多情况在进行Web开发的时候需要自己手写Servlet来完成某些功能,而servlet有需要注入Spring容器中的某些bean,这是每次都要手动获取比较麻烦,这里有一个解决方案,只需要写一个ser ...

  5. [转载]Spring下IOC容器和DI(依赖注入) @Bean及@Autowired

    Spring下IOC容器和DI(依赖注入) @Bean及@Autowired自动装配 bean是什么 bean在spring中可以理解为一个对象.理解这个对象需要换一种角度,即可将spring看做一门 ...

  6. Spring管理Filter和Servlet(在servlet中注入spring容器中的bean)

    在使用spring容器的web应用中,业务对象间的依赖关系都可以用context.xml文件来配置,并且由spring容器来负责依赖对象 的创建.如果要在servlet中使用spring容器管理业务对 ...

  7. Spring读书笔记-----Spring核心机制:依赖注入

    spring框架为我们提供了三种注入方式,分别是set注入,构造方法注入,接口注入.今天就和大家一起来学习一下 依赖注入的基本概念 依赖注入(Dependecy Injection),也称为IoC(I ...

  8. Spring自动装配之依赖注入(DI)

    依赖注入发生的时间 当Spring IOC 容器完成了Bean 定义资源的定位.载入和解析注册以后,IOC 容器中已经管理类Bean定义的相关数据,但是此时IOC 容器还没有对所管理的Bean 进行依 ...

  9. Spring控制反转与依赖注入(IOC、DI)

    IOC: 反转控制   Inverse Of Control DI:依赖注入 Dependency Injection 目的:完成程序的解耦合 解释:在应用系统的开发过程中,有spring负责对象的创 ...

随机推荐

  1. Python 常量

  2. Java练习 SDUT-1184_拍皮球

    C语言实验--拍皮球 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 小瑜3岁了,很喜欢玩皮球,看来今后喜欢打篮球的^_ ...

  3. 阿里云亮相2019联通合作伙伴大会,边缘计算等3款云产品助力5G时代产业数字化转型

    4月23日,2019中国联通合作伙伴大会在上海正式开幕,本次大会以“合作不设限,共筑新生态”为主题,涉及5G.边缘计算.云计算.物联网.新媒体.人工智能.互联网化等各领域超过600家合作伙伴与3万名各 ...

  4. 12 将类处理为excel,再将excel处理为类(界限计划3)

    中间使用map作为中间处理 将类处理为excel: 1.读取类转为map //读取btl,转为map public static Map getBtlMap(String rule, BTLDAO b ...

  5. H3C IP网络的结构

  6. H3C 链路层协议

  7. colab找不到模块 no name

    https://www.jianshu.com/p/2cf00bb9db34?utm_source=oschina-app 穷学生学习神经网络一定体会过“等待”的痛苦... 循环一次epoch急死人, ...

  8. BERT的通俗理解 预训练模型 微调

    1.预训练模型      BERT是一个预训练的模型,那么什么是预训练呢?举例子进行简单的介绍      假设已有A训练集,先用A对网络进行预训练,在A任务上学会网络参数,然后保存以备后用,当来一个新 ...

  9. Codeforces Round #340 (Div. 2) B. Chocolate

    题意:一段01串 分割成段 每段只能有一个1 问一段串有多少种分割方式 思路:两个1之间有一个0就有两种分割方式,然后根据分步乘法原理来做. (不过这里有一组0 1 0这种数据的话就不好直接处理,所以 ...

  10. jackson中的@JsonBackReference和@JsonManagedReference,以及@JsonIgnore

    jackson中的@JsonBackReference和@JsonManagedReference,以及@JsonIgnore均是为了解决对象中存在双向引用导致的无限递归(infinite recur ...