本文已参与「新人创作礼」活动,一起开启掘金创作之路。
Spring Boot 发展
Spring 框架是一个轻量级的企业级开发的一站式解决方案。
Spring 是一个轻量级的控制反转(IoC)和面向切面编程(AOP)的容器框架。
IoC (Inversion of Control) 控制反转
AOP (Aspect Oriented Programming) 面向切面编程
为了解耦。AOP 可以让一组类共享相同的行为(OOP 只能通过继承类实现接口,AOP 弥补了 OOP 的不足)。
DI (Dependency Injection) 依赖注入
Spring 框架四大原则
- 使用 POJO (Plain Ordinary Java Object, Java 简单对象) 进行轻量级和最小侵入式开发
- 通过依赖注入和基于接口编程实现松耦合
- 通过 AOP 和默认习惯进行声明式编程
- 使用 AOP 和模板(template)减少模式化代码
下图为 Spring 框架的架构图:
Spring Boot 是对各种 Java Web 开发技术的整合。
下图展示了 Spring Boot 在整个 Spring 生态中的位置:
Spring Boot 初步使用
Spring Boot 项目创建
参考文章:blog.csdn.net/ght886/arti…
启动类样例:
@SpringBootApplication
public class RainfallSystemApplication {
public static void main(String[] args) {
SpringApplication.run(RainfallSystemApplication.class, args);
}
}
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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>org.nwpu</groupId>
<artifactId>rainfall-system</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>rainfall-system</name>
<description>Flood runoff forecasting system's backend for Spring Boot.</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>