Spring学习源码:https://download.csdn.net/download/qq_41505957/20606092
第一个Spring程序
创建项目
首先创建一个Maven项目
导入依赖
使用Spring ,需要导入Spring相关的包,在测试的时候我们还需要使用Test测试,所以还需要导入junit相关的包。在pom.xml里面添加以下内容。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.10.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
创建实体类
创建包
然后创建Hello.java实体类。
package com.zhang.bean;
/**
* @title: Hello
* @Author 张宜强
* @Date: 2021/7/20 9:53
* @Effect:
*/
public class Hello {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void show(){
System.out.println("Hello,"+ name );
}
}
编写beans.xml
在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">
<!--bean就是java对象 , 由Spring创建和管理-->
<!--
<bean id = 别名 class = 类名>
<property name = 属性名 values = 具体值(基本数据类型)>
<property name = 属性名 ref = 引用Spring中创建好的对象(其他bean的id)>
</beans>
-->
<bean id="hello" class="com.zhang.bean.Hello">
<property name="name" value="Spring"/>
</bean>
</beans>
这个xml文件的意思就是创建了一个Hello的对象,name属性为Spring,相当于以下代码
Hello hello = new Hello();
hello.setName("Spring");
这也是为什么要在Hello类里面加上set方法的原因,因为属性的注入是依靠set方法,可以试着去掉set方法运行程序。
最后编写测试方法
import com.zhang.bean.Hello;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @title: myTests
* @Author 张宜强
* @Date: 2021/7/20 9:57
* @Effect:
*/
public class myTests {
@Test
public void test1(){
//解析beans.xml文件 , 生成管理相应的Bean对象
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
//getBean : 参数即为spring配置文件中bean的id .
Hello hello = (Hello) context.getBean("hello");
hello.show();
}
}
程序结构
运行结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u5qVQXQi-1627958534346)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210720101803431.png)]
第一个Spring程序完成。
hello 对象是由Spring创建的,属性是由Spring容器设置的,程序只用来接收对象,也就是说以前程序的
Hello hello = new Hello();
hello.setName("Spring");
这两句话由bean.xml来做。