目录

1.什么是 Bean 管理:

(1)通过 Spring 创建对象

(2)通过 Spring 注入属性

2.IOC 操作 Bean 管理有两种方式:

(1)基于 xml 配置文件方式实现

(1.1)基于 xml 方式创建对象

(1.2)基于 xml 方式注入属性

(2)基于注解方式实现


1.什么是 Bean 管理:

Bean 管理指的是两个操作:

(1)通过 Spring 创建对象

(2)通过 Spring 注入属性

2.IOC 操作 Bean 管理有两种方式:

(1)基于 xml 配置文件方式实现

(1.1)基于 xml 方式创建对象

  • 在项目中找到 xxx.xml 文件,通过使用<bean></bean> 标签,在标签内添加对应属性,就可以实现对象的创建
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--配置User对象创建-->
<bean id="user" class="com.lbj.spring5.User"></bean></beans>
  • Bean标签基本属性的认识
  • * id 属性:唯一标识

在java 代码里,.getBean方法就是通过这个唯一的标识找到<bean>标签的id属性

  • *class 属性:类的全路径

例如一个项目结构如下:

那么 User 这个类的全路径为:

com.lbj.spring5.User

*name 属性(少用,曾用于Struts1框架):与 id 属性的区别在于 name 属性内可以添加特殊符号

  • 创建对象的时候,默认是执行无参数构造方法

一个类里面是有默认的一个公共无参构造方法,同样,Spring框架也是默认执行无参构造方法

例子:

在User类中添加如下代码:

package com.lbj.spring5;/*** Created by 14811 on 2020/11/25.*/
public class User {private String userName;// alt+insert 创建一个有参构造方法//此时如果不声明无参构造方法,意味着无参构造方法不存在public User(String userName) {this.userName = userName;}//创建一个普通方法等待调用public void add(){System.out.println("实现了spring");}
}

运行 TestSpring5 中的testAdd()测试方法,发现报错,原因:没有无参构造方法却调用了有参构造方法

(1.2)基于 xml 方式注入属性

DI(dependency injection):依赖注入

DI是IOC 中的一种具体实现

  • 第一种注入方式:使用set方法进行注入

重新创建一个类专门演示我们在没学习Spring之前是怎样实现这个过程:

在com.lbj.spring5下创建一个 Book 类

Book类的代码如下:

package com.lbj.spring5;public class Book {//在类中创建属性:往book类中写入一个属性private String bname;//创建属性对应的set方法:set方法注入属性public void setBname(String bname) {this.bname = bname;}public static void main(String[] args) {Book book=new Book();book.setBname("红楼梦");}
}
  • 接下来我们体验一下学习Spring 框架后

我们是怎样在Spring 配置文件【1】配置对象创建,【2】配置属性注入:

结构图:

第一步:在bean1.xml 文件中:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--配置Book对象创建--><bean id="book" class="com.lbj.spring5.Book"><!--使用property完成属性注入name:类里面的属性名称value:向属性注入的值--><property name="bname" value="红楼梦"></property></bean>
</beans>

第二步:在Book类中:

package com.lbj.spring5;public class Book {//在类中创建属性:往book类中写入一个属性private String bname;//创建属性对应的set方法:set方法注入属性public void setBname(String bname) {this.bname = bname;}public void testBook(){System.out.println(bname);}}

在测试类 TestSpring5中:

package com.lbj.spring5.testdemo;import com.lbj.spring5.Book;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestSpring5 {@Testpublic void testBook1(){//1.加载spring配置文件ApplicationContext context=new ClassPathXmlApplicationContext("bean1.xml");//2.获取配置创建的对象,通过context得到对象Book book=context.getBean("book", Book.class);//3.做输出System.out.println(book);//4.通过book调用testBook()方法book.testBook();}
}

结果:

  • 第二种注入方式:有参构造方法注入:

代码如下:

package com.lbj.spring5;
public class Book {//往book类中写入一个属性private String bname;//有参数的构造方法注入属性public Book(String bname) {this.bname = bname;}public static void main(String[] args) {Book book=new Book("红楼梦");}
}

(2)基于注解方式实现

详情在博客下一章

IOC操作Bean管理XML方式(创建对象和set注入属性)相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. IOC操作Bean管理XML方式(注入内部 bean 和 级联赋值)

    目录 1.注入属性-内部 bean (1)一对多关系:部门和员工 (2)在实体类之间表示一对多关系 (3)在Spring 配置文件中进行配置 2.注入属性-级联赋值 (1)第一种写法类似外部bean注 ...

最新文章

  1. EntityFramework中实体类到表名的批量映射
  2. Java实现二维码QRCode的编码和解码
  3. qpushbutton设置居中_Qt QGridLayout自动将项目居中(移动)到中间。
  4. 服务部署如何做到高可用?这份“三级跳”秘籍送给你
  5. SAP HANA会代替BW吗?
  6. python基础入门:实现(无重复字符)字符串的全排列的两种方法
  7. 查询各个分区的数据量_分库、分表、分区的区别,傻傻分不清?
  8. 终于收到为广州.NET俱乐部活动准备的礼品了:)
  9. 论文浅尝 | 基于图注意力的常识对话生成
  10. 【HDOJ】4541 Ten Googol
  11. OpenERP 关于页码总页数
  12. 周末休息整理B站项目过于敏感,2h后删!
  13. 计算机地图制图的点状符号制作,计算机地图制图验手册汇编.doc
  14. 数理统计复习笔记四——区间估计
  15. “从0开始的FreeRTOS”系列教程第一讲
  16. 浅谈0-day漏洞的在野利用
  17. Java实现 N的阶乘
  18. 编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。
  19. 【云原生 | Kubernetes 系列】----污点与容忍
  20. 西门子 延时 光控 声控开关 5TG0 211 -1CC1 提高 灵敏度 的方法

热门文章

  1. ubuntu zip解压
  2. Android 3D emulation 架构理解
  3. windows下的_mkdir函数
  4. .net打包自动安装数据库
  5. 01-object类,常用API
  6. nginx学习笔记-01nginx入门,环境搭建,常见命令
  7. 数据结构——树的C语言实现
  8. www万维网和HTTP协议
  9. RequestMapping注解的继承问题
  10. 【剑指offer】面试题35:复杂链表的复制(Java 实现)