Spring Bean 获取和注入
Bean Factory
bean创建
1. 导入Maven坐标(此处导入spring-context包即可,已经包含了spring framework中核心的包)
2. 定义service接口及其实现类
3. 创建beans.xml文件,将service信息配置到该文件中
- recources下新建 XML配置文件,选择Spring Config,创建beans.xml。 因为我们第一步已经导入Spring坐标,所以此处会显示该选项
- 在该文件中将第二步创建的类配置为Bean
4. 编写测试代码,创建BeanFactory,加载配置文件,获取service实例对象
- 创建工程对象 -> 创建读取器,读取xml文件 -> 读取器读取配置文件给工厂 --> 根据id获取Bean实例对象
三种get Bean的方式
依赖注入
一般情况下,service 层会去调用Dao层的服务,这样service类下会设置一个Dao层的对象属性,通过 set来给属性赋值。在Spring中,我们可以写好set方法告诉Spring来实现方法的自动调用进行属性赋值来实现注入,而不需要再手动写一遍
- 创建userDaoImpl类
- UserServiceImpl 实现set方法
- 在配置文件中 配置 userDaoImpl 为bean
- 通过property标签进行属性赋值,如果是基本类型数据,则写为 <property name="address" value="上海市"></property>
- 注意name=“address”中的 address 是 setAddres 去掉set并且将首字母小写得到的,如果是 setAaa,则name="aaa", 一般不会这么做
- 运行结果
ApplicationContext
- ApplicationContext成为Spring容器,内部封装了BeanFacroty,比BeanFactory功能更加强大
- xml文件一般习惯写成applicationContext.xml
使用地点:在main方法中,我们不再去创建工厂对象和读取器,而是可以直接创建applicationContext容器来读取配置文件
BeanFactory和ApplicationContext的比较
猪猪侠要努力呀!