一、Spring和SpringBoot

Spring

Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。
Spring是如何简化Java开发的呢——
为了降低Java开发的复杂性,Spring采用了以下4种关键策略:

  • 基于POJO的轻量级和最小侵入性编程,所有东西都是bean;
  • 通过IOC,依赖注入(DI)和面向接口实现松耦合;
  • 基于切面(AOP)和惯例进行声明式编程;
  • 通过切面和模版减少样式代码,RedisTemplate,xxxTemplate;

    SpringBoot

    SpringBoot是**用于快速、敏捷地开发新一代基于 Spring 框架的应用程序**

  • SpringBoot以约定大于配置的核心思想,默认帮我们进行了很多设置,多数SpringBoot应用只需要很少的Spring配置。同时它集成了大量常用的第三方库配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等),SpringBoot应用中这些第三方库几乎可以零配置的开箱即用

  • 简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,SpringBoot整合了所有的框架
  • SpringBoot出生名门,从一开始就站在一个比较高的起点,又经过这几年的发展,生态足够完善,SpringBoot已经当之无愧成为Java领域最热门的技术。

    二、SpringBoot入门

    系统环境

    具体系统配置请参考官方文档
    image.png

    Maven配置

    ```xml nexus-aliyun central Nexus aliyun http://maven.aliyun.com/nexus/content/groups/public

jdk-1.8 true 1.8 1.8 1.8 1.8

  1. <a name="9Hr0h"></a>
  2. ### 创建Maven项目
  3. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/1695828/1613462831094-95f9f0f2-db76-4840-bed0-2d9e472d8a78.png#align=left&display=inline&height=889&margin=%5Bobject%20Object%5D&name=image.png&originHeight=889&originWidth=1545&size=724847&status=done&style=none&width=1545)<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/1695828/1613462881089-894ef07e-e410-4682-85f7-044f8627036f.png#align=left&display=inline&height=686&margin=%5Bobject%20Object%5D&name=image.png&originHeight=686&originWidth=1030&size=98758&status=done&style=none&width=1030)<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/1695828/1613462941348-ba24b2fc-4a80-4dae-aa9a-4e56e54cadc2.png#align=left&display=inline&height=685&margin=%5Bobject%20Object%5D&name=image.png&originHeight=685&originWidth=1031&size=27960&status=done&style=none&width=1031)<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/1695828/1613462970361-f1b7d463-7f41-41cd-87bb-099d69bf40bb.png#align=left&display=inline&height=690&margin=%5Bobject%20Object%5D&name=image.png&originHeight=690&originWidth=1035&size=29931&status=done&style=none&width=1035)
  4. <a name="JQLXg"></a>
  5. ### 导入父工程
  6. ```xml
  7. <parent>
  8. <groupId>org.springframework.boot</groupId>
  9. <artifactId>spring-boot-starter-parent</artifactId>
  10. <version>2.4.2</version>
  11. </parent>

导入依赖

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
</dependencies>

主程序类的实现

package com.comprehensive.boot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * 主程序类
 * @SpringBootApplication:这是一个SpringBoot应用
 */
@SpringBootApplication
public class MainApplication {
    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
    }
}

Controller类的实现

package com.comprehensive.boot.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello_springboot() {
        return "hello, SpringBoot!";
    }
}

测试

image.png
image.png

三、简化

简化配置

在resources目录下创建application.properties文件
image.png
image.png
image.png
如果想修改其它配置,可参考官方文档
image.png

简化部署

image.png

<build>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>

image.png
image.png

  • 直接执行jar包

image.png
image.png