Spring--快速开发
前言
本篇记录利用Maven快速建立Spring程序。
Spring简介
简介
Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核。
优势
-
方便解耦,简化开发
通过 Spring 提供的 IoC容器,可以将对象间的依赖关系交由 Spring 进行控制,避免硬编码所造成的过度耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。
-
AOP 编程的支持
通过 Spring的 AOP 功能,方便进行面向切面编程,许多不容易用传统 OOP 实现的功能可以通过 AOP 轻松实现。
-
声明式事务的支持
可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务管理,提高开发效率和质量。
-
方便程序的测试
可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可做的事情。
-
方便集成各种优秀框架
Spring对各种优秀框架(Struts、Hibernate、Hessian、Quartz等)的支持。
-
降低 JavaEE API 的使用难度
Spring对 JavaEE API(如 JDBC、JavaMail、远程调用等)进行了薄薄的封装层,使这些 API 的使用难度大为降低。
项目建立
说明:
- IDEA:2020.1
- JDK:1.8
- Maven:3.6.1
建立
-
打开IDEA,新建空工程
-
打开并设置
pom.xml
文档,导入Spring开发的基本包坐标1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<name>spring_project</name>
<groupId>org.example</groupId>
<artifactId>spring_project</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
</dependencies>
</project>注意在导入坐标依赖后需要刷新maven项目
-
编写Dao接口和实现类
项目结构如下:
编写接口
UserDao
:1
2
3public interface UserDao {
public void save();
}编写接口实现类
UserDaoImpl
:1
2
3
4
5
6
7import dao.UserDao;
public class UserDaoImpl implements UserDao {
public void save() {
System.out.println("save running....");
}
} -
在
/src/main/resources
目录下创建Spring核心配置文件一般命名为
applicationContext.xml
(也可以任意取名) -
在Spring配置文件中配置
UserDaoImpl
applicationContext.xml
:1
2
3
4
5
6
7
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="userDao" class="dao.impl.UserDaoImpl"></bean>
</beans> -
最后测试,使用Spring的API获得
Bean
实例在
/src/main/java
目录下创建demo
文件夹,其中创建UserDaoDemo
用于测试:1
2
3
4
5
6
7
8
9
10
11
12
13import dao.UserDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class UserDaoDemo {
public static void main(String[] args) {
ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao = (UserDao) app.getBean("userDao");
userDao.save();
}
}说明:
- 通过
bean
的id来获取xml配置文件中配置的<bean>
的class
类的对象 - 由于Spring反射new出来的对象是
Object
类型,所以需要强制转换为UserDao
类型
- 通过
-
点击运行,可以正常创建
userDao
对象并使用定义的save()
方法
至此,完成了Spring项目的快速创建。
后记
Maven Repository官网:Maven Repository: Search/Browse/Explore (mvnrepository.com)