spring的IOC容器Bean管理(基于xml方式)-创新互联
- ==目的:==降低耦合度
- ==技术:==xml解析、工厂模式、反射
- spring框架提供了两种实现方式(两个接口)
- BeanFactory接口
- ioc容器的基本实现,是spring框架内部使用的接口,一般不提供给开发人员使用
- 在加载xml配置文件时,不会创建xml中的bean对象,在获取对象(使用)bean时才创建对象
- ApplicationContext接口
- 是BeanFactory的子接口,提供更多更强大的功能,一般由开发人员使用
- 在加载xml配置文件时,就创建对象xml中的bean对象
- BeanFactory接口
- ApplicationContext接口的两个主要实现类
- FileSystemXmlApplicationContext类
从系统中的全路径去获取配置文件 - ClassPathXmlApplicationContext类
从项目的相对类路径(一般从src/
路径开始)去获取配置文件
- FileSystemXmlApplicationContext类
eg:
- xml配置文件
- 对象生成
//1.加载spring配置文件
//方法1:ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
//方法2:BeanFactory context = new ClassPathXmlApplicationContext("bean.xml");
//方法3:ApplicationContext context = new FileSystemXmlApplicationContext("C:\\Users\\HUAWEI\\idea-workspace\\spring5_demo1\\src\\bean.xml");
//方法4:
BeanFactory context = new FileSystemXmlApplicationContext("C:\\Users\\HUAWEI\\idea-workspace\\spring5_demo1\\src\\bean.xml");
//2.获取配置文件的对象
User user = context.getBean("user", User.class);
xml中创建bean对象
- 属性:
- id:起的别名
- name:与id 属性作用相同(区别:可以输入特殊符号)
- class:类的相对路径
- 基于无参构造方法创建对象
注意
如果类中没有无参构造方法,则无法创建
创新互联作为成都网站建设公司,专注网站建设、网站设计,有关成都定制网站方案、改版、费用等问题,行业涉及OPP胶袋等多个领域,已为上千家企业服务,得到了客户的尊重与认可。
xml中注入属性- DI:依赖注入,注入属性(是ioc具体实现的操作)
- 基于set 方法注入属性
注意
如果类中没有创建set 方法,则无法注入
p名称空间注入,简化set 注入
- 基于有参构造方法注入属性
如果类中没有创建有参构造方法,则无法注入
注入空值和特殊符号
- null空值
- 属性值包含特殊符号
- 进行转义字符
- 把值写成CDATA格式
注入外部bean对象(ref)- 需求
- 有两个类一个Service类和一个实现Dao接口DaoImpl类
- 需要在Service类的对象中调用Dao类向上转型对象中的方法
- 前提条件
- Service类中有Dao接口对象的属性
private UserDao userDao;
- 有set方法设置Dao接口对象
public void setUserDao(UserDao userDao){this.userDao = userDao;}
- xml配置
注入内部Bean对象和级联赋值- 需求
一个员工Emp类中的dept(部门)属性是一个对象
- xml配置
基于set方法注入属性
- 级联赋值
基于set和get方法注入属性- 方法1
- 方法2
注入集合类型属性基于set方法注入属性
- 数组类型
Java C++ Python
- List类型
Java C++ Python
- Map类型
- Set类型
Java C++ Python
注入对象集合类型属性基于set方法注入属性
- 需求
private Listsourses;
- xml配置
提取集合类型注入属性基于set方法
- List类型(其他集合类型类似)
Java C++
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享名称:spring的IOC容器Bean管理(基于xml方式)-创新互联
文章源于:http://azwzsj.com/article/egijc.html