Spring--快速开发

2022-02-22 17:58:38 浏览数 (1)

前言

本篇记录利用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开发的基本包坐标
代码语言:javascript复制
<?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/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:

代码语言:javascript复制
public interface UserDao {
    public void save();
}

编写接口实现类UserDaoImpl:

代码语言:javascript复制
import dao.UserDao;

public class UserDaoImpl implements UserDao {
    public void save() {
        System.out.println("save running....");
    }
}
  • 在/src/main/resources目录下创建Spring核心配置文件

一般命名为applicationContext.xml(也可以任意取名)

  • 在Spring配置文件中配置UserDaoImpl
代码语言:javascript复制
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">

    <bean id="userDao" class="dao.impl.UserDaoImpl"></bean>
    
</beans>
  • 最后测试,使用Spring的API获得Bean实例

在/src/main/java目录下创建demo文件夹,其中创建UserDaoDemo用于测试:

代码语言:javascript复制
import 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();
    }

}

说明:

  1. 通过bean的id来获取xml配置文件中配置的<bean>的class类的对象
  2. 由于Spring反射new出来的对象是Object类型,所以需要强制转换为UserDao类型
  • 点击运行,可以正常创建userDao对象并使用定义的save()方法

至此,完成了Spring项目的快速创建。

后记

Maven Repository官网:Maven Repository: Search/Browse/Explore (mvnrepository.com)

0 人点赞