我们,计划通过Maven的方式了解Spring,因此先创建的一个基础的Maven工程。
- 导入Spring坐标
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>fun.gosuncn</groupId>
<artifactId>SpringStudy</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.1</version>
</dependency>
</dependencies>
</project>
从pom文件中,可以看出我们仅仅加入了spring-context
一个坐标,由于Maven的依赖引入功能,其实还导入了其他的包,我们看下具体有什么包。
不难看出,我们一共导入了5个包,分别是:
- spring-context
- spring-expression
- spring-aop
- spring-beans
- spring-core
- spring-jcl
了解过Spring的朋友都记得有个包叫commons-logging
的吧?
好像没有这个包,启动会报错的。这里怎么没有引入呢?
其实,spring-jcl
这个包可以理解为就是commons-logging
,就把它当作日志的功能就好了,异曲同工。
- 创建一个普通的JavaBean类
package fun.gosuncn.spring01;
public class Student {
private String name;
private Integer age;
private String school;
public Student(String name, Integer age, String school) {
this.name = name;
this.age = age;
this.school = school;
}
public Student() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getSchool() {
return school;
}
public void setSchool(String school) {
this.school = school;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", school='" + school + '\'' +
'}';
}
}
- 创建一个资源文件
spring01.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="student" class="fun.gosuncn.spring01.Student">
<property name="name" value="Apollo"/>
<property name="age" value="20"/>
<property name="school" value="北京大学"/>
</bean>
</beans>
我们将普通的JavaBean类填写到资源文件spring01.xml
中,意思是希望Spring为我们创建的一个对象,叫student
,而且这个学生对象的名字叫Apollo
年龄是20
学校在北京大学
。
接下来,写个main方法,跑一下,当然你也可以用单元测试,看你喜欢用哪个了。
package fun.gosuncn.spring01;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestMain {
public static void main(String[] args) {
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring01.xml");
Object student = applicationContext.getBean("student");
System.out.println("student = " + student);
}
}
看下运行结果吧
student = Student{name=‘Apollo’, age=20, school=‘北京大学’}
文章到此就结束了,拜拜!