Spring Boot 学习笔记 01——发展和初步使用

137 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

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 架构图

Spring Boot 是对各种 Java Web 开发技术的整合。

下图展示了 Spring Boot 在整个 Spring 生态中的位置

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&apos;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>