1 在spring里面通过配置文件创建对象

2 bean实例化三种方式实现

第一种、使用类的无参数构造创建(重点)

(1) xml 文件 bean1.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="
  5. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
  6. <!--ioc入门-->
  7. <bean id="user" class="com.liuyanzhao.ioc.User"></bean>
  8. </beans>

(2) User 类

  1. package com.liuyanzhao.ioc;
  2. public class User {
  3. public void add() {
  4. System.out.println("add..........");
  5. }
  6. }

(3)测试类 TestIOC 类

  1. package com.liuyanzhao.ioc;
  2. import org.junit.Test;
  3. import org.springframework.context.ApplicationContext;
  4. import org.springframework.context.support.ClassPathXmlApplicationContext;
  5. public class TestIOC {
  6. @Test
  7. public void testUser() {
  8. //1、加载Spring配置文件,根据创建对象
  9. ApplicationContext context =
  10. new ClassPathXmlApplicationContext("bean1.xml");
  11. //2、得到配置创建的对象
  12. User user = (User) context.getBean("user");
  13. System.out.println(user);
  14. }
  15. }

第二种 、使用静态工厂创建(了解)

(1)xml 文件 bean1.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="
  5. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
  6. <!--使用静态工厂创建对象-->
  7. <bean id="bean2" class="com.liuyanzhao.bean.Bean2Factory" factory-method="getBean2"></bean>
  8. </beans>

(2)Bean2 类

  1. package com.liuyanzhao.bean;
  2. public class Bean2 {
  3. public void  add() {
  4. System.out.println("bean2.........");
  5. }
  6. }

(3)Bean2Factory 类

  1. package com.liuyanzhao.bean;
  2. public class Bean2Factory {
  3. //静态方法,返回Bean2对象
  4. public static Bean2 getBean2() {
  5. return new Bean2();
  6. }
  7. }

(4) 测试类 TestIOC 类

  1. package com.liuyanzhao.bean;
  2. import org.junit.Test;
  3. import org.springframework.context.ApplicationContext;
  4. import org.springframework.context.support.ClassPathXmlApplicationContext;
  5. public class TestIOC {
  6. @Test
  7. public void testUser() {
  8. //1、加载Spring配置文件,根据创建对象
  9. ApplicationContext context =
  10. new ClassPathXmlApplicationContext("bean1.xml");
  11. //2、得到配置创建的对象
  12. Bean2 bean2 = (Bean2) context.getBean("bean2");
  13. System.out.println(bean2);
  14. }
  15. }

第三种、使用实例工厂创建(了解)

(1)xml 文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="
  5. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
  6. <!--使用实例工厂创建对象-->
  7. <!--创建工厂对象-->
  8. <bean id="bean3Factory" class="com.liuyanzhao.bean.Bean3Factory"></bean>
  9. <bean id="bean3" factory-bean="bean3Factory" factory-method="getBean3" ></bean>
  10. </beans>

(2) Bean3 类

  1. package com.liuyanzhao.bean;
  2. public class Bean3 {
  3. public void add() {
  4. System.out.println("bean3.........");
  5. }
  6. }

(3)Bean3Factory 类

  1. package com.liuyanzhao.bean;
  2. public class Bean3Factory {
  3. //普通方法,返回Bean3对象
  4. public Bean3 getBean3() {
  5. return new Bean3();
  6. }
  7. }

(4)测试类 TestIOC 类

  1. package com.liuyanzhao.bean;
  2. import org.junit.Test;
  3. import org.springframework.context.ApplicationContext;
  4. import org.springframework.context.support.ClassPathXmlApplicationContext;
  5. public class TestIOC {
  6. @Test
  7. public void testUser() {
  8. //1、加载Spring配置文件,根据创建对象
  9. ApplicationContext context =
  10. new ClassPathXmlApplicationContext("bean1.xml");
  11. //2、得到配置创建的对象
  12. Bean3 bean3 = (Bean3) context.getBean("bean3");
  13. System.out.println(bean3);
  14. }
  15. }

Spring的bean管理(xml方式)之Bean实例化的方式相关推荐

  1. Spring——Bean管理-xml方式进行属性注入

    目录 一.xml方式创建对象 二.xml方式注入属性 第①种方式注入:set方法注入 第②种方式注入:有参构造函数注入 constructor-arg:通过构造函数注入 用name标签属性: 不按照顺 ...

  2. IOC操作Bean管理XML方式(外部属性文件)

    目录 IOC操作Bean管理XML方式(外部属性文件) 前情引入: 实验演示: 1.直接配置数据库信息 (1)配置德鲁伊连接池 (2)引入德鲁伊连接池jar包 (3)创建一个bean6.xml配置文件 ...

  3. IOC操作Bean管理XML方式(xml自动装配)

    目录 IOC操作Bean管理XML方式(xml自动装配) 一.演示自动装配过程 (1)根据 属性名称 装配 步骤一: 步骤二: 步骤三: (2)根据 属性类型 装配 (2.1)根据 类型 自动装配产生 ...

  4. IOC操作Bean管理XML方式(bean 的生命周期)

    目录 IOC操作Bean管理XML方式(bean 的生命周期) 1.bean 的生命周期(在单例模式下的生命周期) (1)通过构造器创建 bean 的实例(执行类中无参构造方法去创建对象) (2)为 ...

  5. IOC操作Bean管理XML方式(bean的作用域)

    目录 IOC操作Bean管理XML方式(bean的作用域) 1.在Spring 里面,设置创建 bean 实例是单实例还是多实例的方式 (1)在Spring 配置文件bean 标签里面有属性(scop ...

  6. IOC操作Bean管理XML方式(FactoryBean)

    目录 IOC操作Bean管理XML方式(FactoryBean) Spring 有两种类型的bean 第一种:是普通的 bean 第二种:工厂bean FactoryBean 第一步:创建类,让这个类 ...

  7. IOC操作Bean管理XML方式(注入集合类型属性)

    目录 IOC操作Bean管理XML方式(注入集合类型属性) (1)首先进行环境的搭建和准备 (2)创建一个类:用来完成集合类型属性注入 (3)在Spring 配置文件进行配置 (4)编写一个测试类进行 ...

  8. IOC操作Bean管理XML方式(注入空值和特殊符号)

    IOC操作Bean管理XML方式(注入空值和特殊符号) 目录 IOC操作Bean管理XML方式(注入空值和特殊符号) (1)通过null标签注入空值: 标签注入空值 (2)属性值中包含特殊符号: 方法 ...

  9. IOC操作Bean管理XML方式(有参构造注入属性)

    IOC操作Bean管理XML方式 目录 有参构造注入属性 (1)步骤(创建类,定义属性,创建属性对应的有参构造方法): (2)步骤:在Spring 的xml配置文件中进行配置 (3)步骤:进行测试 结 ...

  10. spring项目属性注入和bean管理xml 注入一般属性和集合属性

    IOC 介绍: 在Spring的应用中,Spring IoC容器可以创建.装配和配置应用组件对象,这里的组件对象称为Bean. Bean的实例化 在面向对象编程中,想使用某个对象时,需要事先实例化该对 ...

最新文章

  1. Appcan关闭主窗口
  2. 微信小程序图标不支持html,微信小程序实现自定义加载图标功能
  3. C/C++版数据结构之链表三
  4. 找工作,我该如何是好?
  5. 担心被机器人抢饭碗?亚马逊教 10 万员工这样保住工作
  6. Android进阶你必须要了解的知识:ThreadLocal
  7. 译:9.使用Redis进行消息传递
  8. [Oracle]使用非滚动游标
  9. SQL查询多条只取其中最新的一条数据
  10. CSS3新增UI样式
  11. ECNU 3263 丽娃河的狼人传说(差分约束)
  12. unix系统简明教程 命令
  13. vs code代码格式化配置
  14. 基于ZYNQ的帧差法多运动目标检测(开源)
  15. 山地车中轴进水表现_你知道吗?中轴拧错方向可能会毁了车架!
  16. 深入理解PHP原理之PHP与WEB服务器交互
  17. wangEditor富文本编辑器自定义图片上传
  18. 【AnySDK】接入必读及常见问题
  19. 数据清洗整理基本操作(R:dplyr、tidyr、lubridate)
  20. 系统进程里的edpa.exe是什么?

热门文章

  1. python实现50行代码_利用 50行Python 代码构建一个在线文本生成器!
  2. nginx限制请求数(ngx_http_limit_req_module)模块
  3. gitbash PHP执行输出中文乱编解决方式
  4. PHP文件上传类(页面和调用部分)
  5. WebCollector
  6. iBatis.Net系列(五)-providers.config-
  7. 记我的一次重构——希望对新人有所帮助
  8. html php交互json 结果集,基于HTML模板和JSON数据的JavaScript交互(移动端)
  9. 软考中级软件设计师笔记第二章计算机操作系统
  10. 什么是反射,为什么要用反射,反射的知识讲解