前言:
5.Spring配置 5.1 使用别名配置Bean信息 5.1.1 编写User实体类小伙伴们,大家好,我是狂奔の蜗牛rz,当然你们可以叫我蜗牛君,我是一个学习Java半年多时间的小菜鸟,同时还有一个伟大的梦想,那就是有朝一日,成为一个优秀的Java架构师。
这个Spring基础学习系列是用来记录我学习Spring框架基础知识的全过程 (这个系列是参照B站狂神的Spring5最新教程来写的,由于是之前整理的,但当时没有发布出来,所以有些地方可能有错误,希望大家能够及时指正!)
之后我将会以一天一更的速度更新这个系列,还没有学习Spring5框架的小伙伴可以参照我的博客学习一下;当然学习过的小伙伴,也可以顺便跟我一起复习一下基础。
最后,希望能够和大家一同进步吧!加油吧!少年们!
废话不多说,让我们开始今天的学习内容吧,今天我们来到了Spring基础学习的第五站:Spring配置!
package com.kuang.pojo;
public class User {
private String name;
//无参构造方法
public User() {
System.out.println("User的无参构造");
}
//有参构造方法
public User(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
5.1.2 编写beans.xml配置文件
5.1.3 编写MyTest测试类
public class MyTest {
public static void main(String[] args) {
//获取ApplicationContext:拿到Spring的容器
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
//从IOC容器中获取Bean:使用user类的别名
User user = (User) context.getBean("admin");
//获取用户名字信息
user.show();
}
5.1.4 测试结果
结果:成功获取到name值为“罗翔”的用户信息!
5.2 设置多个别名配置bean信息 5.2.1 编写UserT实体类package com.kuang.pojo;
public class UserT {
private String name;
public UserT() {
System.out.println("UserT被创建了");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void show(){
System.out.println("name="+name);
}
}
5.2.2 编写beans.xml配置文件
5.2.3 编写MyTest测试类
public class MyTest {
public static void main(String[] args) {
//获取ApplicationContext:拿到Spring的容器
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
//从IOC容器中获取Bean:使用user类的别名
UserT user = (UserT) context.getBean("userT");
UserT user2 = (UserT) context.getBean("user2");
UserT user3 = (UserT) context.getBean("us3");
UserT user4 = (UserT) context.getBean("u4");
//获取用户名字信息
user.show();
user2.show();
user3.show();
user4.show();
}
5.2.4 测试结果
结果:分别获取到name值为“谭乔警官”的用户信息!
5.3 import的使用 5.3.1 编写User和UserT实体类 1.编写User实体类package com.kuang.pojo;
public class User {
private String name;
//无参构造方法
public User() {
System.out.println("User的无参构造");
}
//有参构造方法
public User(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void show(){
System.out.println("name="+name);
}
}
2.编写UserT实体类
package com.kuang.pojo;
public class UserT {
private String name;
public UserT() {
System.out.println("UserT被创建了");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void show(){
System.out.println("name="+name);
}
}
5.3.2 创建xml配置文件和 import简单了解
1.创建xml配置文件
- 在resources文件目录下分别创建applicationContext.xml、beans.xml、beans2.xml、beans3.xml配置文件
- 这个import,一般用于团队开发使用,它可以将多个配置文件,导入合并为一个
5.3.3 编写xml配置文件 1.编写applicationContext.xml文件项目中有多人开发,分别负责不同类的开发,不同的类需要注册在不同的beans中,可以使用import将所有的beans.xml合并为一个总的
- 包含三个配置文件:
2.编写beans.xml配置文件使用的时候,直接使用总的配置就可以了
3.编写beans2.xml配置文件
4.编写beans3.xml配置文件
5.3.4 编写MyTest测试类
public class MyTest {
public static void main(String[] args) {
//获取ApplicationContext,拿到Spring的容器
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//从IOC容器中获取Bean:使用user类的别名
User user = (User) context.getBean("user");
UserT user2 = (UserT) context.getBean("user2");
UserT user3 = (UserT) context.getBean("u3");
//判断两个实例化对象的值是否相等
System.out.println(user2 == user3);
//获取用户名字信息
user.show();
user2.show();
user3.show();
}
5.3.4 测试结果
结果:分别获取到name值为“罗翔老师”、“二仙桥大爷”的用户信息!
5.3.5 测试分析和结论分析:
在获取UserT的Bean信息时,分别使用别名user2和u3,发现输出的用户name值都是“二仙桥大爷”,即与beans3.xml配置文件中UserT类的name值相等
结论:因此,当主配置文件中存在同名类的时候,它会由下到上进行覆盖,即使用最后一个配置文件中的类!
好了,今天的有关Spring基础学习之Spring配置的学习就到此结束啦,欢迎小伙伴们积极学习和讨论,喜欢的可以给蜗牛君点个关注,顺便来个一键三连,我们下期见,拜拜啦!
参考视频链接:https://www.bilibili.com/video/BV1WE411d7Dv(【狂神说Java】Spring5最新教程IDEA版通俗易懂)



