使用 Maven 创建一个 Spring 项目
添加 Web 框架
下载依赖包
这里只下载了必须的依赖,也就上 Spring 体系结构中 Core Container 里的几个模块所对应的依赖。
pom.xml
<?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>com.example</groupId>
<artifactId>lesson</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 属性配置 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<!-- 添加Spring依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
</dependencies>
<build>
<finalName>test04</finalName>
</build>
</project>
第一个 Spring 程序
在 src 的 java 目录下创建这么几个包:
com.example.lesson.dao
com.example.lesson.dao.impl
然后在 dao 下创建 UserDao.java
:
package com.example.lesson.dao;
public interface UserDao {
public void save();
}
在 impl 下创建 UserDaoImpl.java
package com.example.lesson.dao.impl;
import com.example.lesson.dao.UserDao;
public class UserDaoImpl implements UserDao {
public void save() {
System.out.println("spring: hello user dao.");
}
}
在 test 下的 java 目录中创建 Junit 类 TestApp.java
用于单元测试:
import com.example.lesson.dao.UserDao;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestApp {
@Test
public void demo01() {
// 定义配置文件的路径
String xmlPath = "applicationContext.xml";
// 初始化 Spring 容器,加载配置文件
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
// 通过容器获取 userDao 实例
UserDao userDao = (UserDao) applicationContext.getBean("userDao");
userDao.save();
}
}
下面我们还需要创建配置文件 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">
<!-- 将指定对象配置给 spring, 让 spring 创建其实例,这里的 id 就相当于实例的变量名 -->
<bean id="userDao" class="com.example.lesson.dao.impl.UserDaoImpl"></bean>
</beans>
下面我们就可以运行 TestApp.java 了。
运行
补充一张 Spring 体系结构图(图来源于网络):