先通过spring HelloWorld入门案例来体验一下spring的简单用法,我们后续的案例jar包都是通过maven repository仓库导入的,如果你不会使用maven搭建项目,可以查看maven配置教程来学习如何使用maven。
第一步:创建好maven项目之后,在maven的pom.xml文件中导入HelloWorld项目所需要的spring jar包,如下。
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.11.RELEASE</version> </dependency> </dependencies>
完整代码如下。
<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>com.tpyyes</groupId> <artifactId>springDemo</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.11.RELEASE</version> </dependency> </dependencies> </project>
第二步:自定义HelloWorld.java的类(也叫Bean),在里面定义一些方法与field属性,如下。
package com.tpyyes; public class HelloWorld { private String name; public void setName(String name) { this.name = name; } public void printHello() { System.out.println("Spring say: Hello ! " + name); } }
第三步:我们在resources目录下新建一个springBean.xml文件,作用是给name属性set(设置)一个值,这是一个简单的spring配置文件,如下。
<?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="helloBean" class="com.tpyyes.HelloWorld"> <property name="name" value="张三" /> </bean> </beans>
上面是一个典型的Spring ApplicationContext配置,<bean>标签表示当项目启动时就会运行并初始化HelloWorld.java这个类,id="xxx"是可以自定义的,就是在spring中给初始化的这个类起个名字,<property>标签的value是设置 "name" 属性的值为 "张三",具体学习后面会讲到。
第四步:自定义一个MyApp.java的类,在里面添加main方法,使用ClassPathXmlApplicationContext类来加载我们的springBean.xml文件,并且使用getBean()方法来获取spring初始化时id="xxx"的这个bean类,并调用里面的printHello()方法,如下。
package com.tpyyes; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MyApp { public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext ("helloSpring.xml"); HelloWorld obj = (HelloWorld)context.getBean("helloBean"); obj.printHello(); } }
运行main方法,输出结果如图所示。