环境搭建:
!!!maven依赖库查询地址 !!!
使用maven管理工程,建一个maven项目,在pom文件的< dependencies>标签中添加依赖项,目前最新版本是5.2.8,别怕,鼓起勇气用最新就完事儿了(做开发就算了,稳一点老哥hah),添加这个依赖项,Spring会自动引入四个核心 jar 包:bean、context、expression、core,并不只是一个context包
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
测试类Person
暂时不建议重写toString(),后面查看JVM给这个对象创建的名字更加方便。
public class Person {
private int Id;
private String Name;
public int getId() {
return Id;
}
public void setId(int id) {
Id = id;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
}
Spring的配置文件
- 配置文件的放置位置:任意位置,没有强制要求;
- 配置文件的命名 :没有硬性要求,官方建议:applicationContext.xml;
Spring的核心API:ApplicationContext
- 作用:Spring创建对象的工厂,是一个重量级资源,共用的,类似于JDBC中的连接
配置文件创建:applicationContext.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">
<bean id="person" class="zyc.stu.Spring5_1_23.bean.Person"/>
</beans>
Spring 创建对象测试
package zyc.stu.Spring5_1_23;
import org.junit.jupiter.api.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import zyc.stu.Spring5_1_23.bean.Person;
* @author zhuZiGe_
* @create 2020-09-09-11:11
*/
public class SpringTest_1_23 {
@Test
public void test1(){
//获取工厂信息
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//通过工厂类获得对象
Person person = (Person) context.getBean("person");
System.out.println(person);
}
}
细节
ApplicationContext的实现主要有两个:目前使用第一个。
ClassPathXmlApplicationContext
:非web环境下XmlWebApplicationContext
:web环境下
获取Spring工厂创建的bean的方式:调用getBean方法
Person person = (Person) context.getBean("person");