1.什么是Bean管理
bean管理指的是如下的两个操作
1.创建对象
2.注入属性
我们为了解决类与类之间的耦合,我们并不会在一个类中直接创建对象,而是交给IOC,而IOC创建对象就是有Bean来管理的,类里面的变量赋值也可以通过Bean管理来进行注入属性
2.Bean管理操作的两种方式
1.基于xml配置文件的方式实现
2.基于注解方式实现
3.基于xml配置文件的方式实现Bean管理和注入属性
(1).基于xml方式创建对象
①:这个就是我们之前配置过
②:创建对象的时候,默认是执行无参构造方法完成对象
<!-- IOC组件进程管理的javaBean -->
<!-- id:唯一表示符 class:类的全路径名称 -->
<bean id="demo" class="com.qcby.Demo" />
(2).基于xml方式注入属性
①依赖注入的概述
IOC和DI的概念
IOC:Inverse of Control,控制反转,将对象的创建权反转给Spring!!
DI:Dependency Injection,依赖注入,就是注入属性
②属性的set方法注入值
编写属性,提供该属性对应的set方法,编写配置文件完成属性值的注入
public class User {
// 编写成员属性,一定需要提供该属性的set方法
//IOC容器底层就通过属性的set方法方式注入值
private int age;
private String name;
private Demo demo;
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public void setDemo(Demo demo) {
this.demo = demo;
}
@Override
public String toString() {
return "User{" +
"age=" + age +
", name='" + name + '\'' +
", demo=" + demo +
'}';
}
}
<!‐‐DI:依赖注入‐‐>
<bean id="user" class="com.qcby.service.User" >
<!--使用property完成属性注入
name:类里面属性名称
value:向属性注入值
ref:对象映射-->
<property name="age" value="18"></property>
<property name="name" value="张三"></property>
<property name="demo" ref="demo"></property>
</bean>
<bean id="demo" class="com.qcby.service.Demo" />
@Test
public void run1(){
//创建spring工厂,加载配置文件
ApplicationContext ac = new ClassPathXmlApplicationContext("ApplicationContext.xml");
//获取bean对象
User user = ac.getBean("user", User.class);
System.out.println(user.toString());
}