学习地址:https://www.bilibili.com/video/av35914008/(别问 问就是蹭流量)(https://www.majiaxueyuan.com/front/showcoulist)
举个简单的例子
使用xml配置文件去创建一个user对象
目录
1.创建Spring工程
1.idea创建maven工程
添加依赖文件(用的SpringBoot的插件):
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2.添加配置文件
创建一个resources文件夹
然后点击project Structure,选择resources点击上面的Resources按钮,之后点击确定(选择那个是为了读取以后放置的配置文件)
在resources文件夹下创建一个beans.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">
</beans>
然后配置一下
也可以通过SpirngConfigure创建
3.创建user属性
创建一个user类
public class User {
private String userName;
private String gender;
private Integer age;
public User() {
}
@Override
public String toString() {
return "User{" +
"userName='" + userName + '\'' +
", gender='" + gender + '\'' +
", age=" + age +
'}';
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
配置beans.xml文件,添加一个bean
<bean id="user" class="com.zqj.entity.User">
<property name="userName" value="郭二狗"></property>
<property name="gender" value="男"></property>
<property name="age" value="22"></property>
</bean>
4.运行
创建一个test运行类。看咱能不能加载一个user对象
public class EntityTest {
public static void main(String[] args) {
//加载beans.xml文件
ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("beans.xml");
//获取到user对象
User user = (User)classPathXmlApplicationContext.getBean("user");
System.out.println(user);
}
}
运行,可以看到。能够取到数据
在前面可以看到一个有加载到beans.xml文件
以及看到创建的user对象是一个单例模式
最后来看结果:
显示的和beans.xml文件配置的是一致的。
如果需要实现多个对象而不是单例对象,可以在配置文件中多写一个属性scope
<bean id="user" class="com.zqj.entity.User" scope="prototype"> <!-- scope="prototype" -->
<property name="userName" value="郭二狗"></property>
<property name="gender" value="男"></property>
<property name="age" value="22"></property>
</bean>
附表(作用域):
作用域 | 定义 |
singleton |
在每个spring容器中,一个Bean定义只有一个对象的实例(默认) |
prototype |
允许Bean定义可以被实力化任意次 |
request |
在一次HTTP请求中,每个bean定义对应一个实例。该作用域仅在基于Web的 |
session |
在一个HTTP Session 中,每一个Bean定义对应一个实例。该作用域仅在 |
global-session |
在一个全局HTTP Session中,每个Bean定义对应的一个实例,该作用 |