SpringBoot2核心技术–1.基础入门

一、Spring与SpringBoot

1. Spring能做什么

image.png

2. Spring5重大升级

image.png

3. SpringBoot

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.

能快速创建出生产级别的Spring应用

Spring有各种的解决方案,而将其整合是一个繁琐的过程,往往需要复杂的配置。SpringBoot是整合Spring技术栈的一站式框架,是简化Spring技术栈的快速开发脚手架。其优点为:

  • 创建独立Spring应用
  • 内嵌web服务器
  • 自动starter依赖,简化构建配置
  • 自动配置Spring以及第三方功能
  • 提供生产级别的监控、健康检查及外部化配置
  • 无代码生成、无需编写XML

4. 微服务

James Lewis and Martin Fowler(2014)提出微服务完整概念。

  • 微服务是一种架构风格
  • 一个应用拆分为一组小型服务
  • 每个服务运行在自己的进程内,也就是可独立部署和升级
  • 服务之间使用轻量级HTTP交互
  • 服务围绕业务功能拆分
  • 可以由全自动部署机制独立部署
  • 去中心化,服务自治。服务可以使用不同的语言、不同的存储技术

5. 分布式

由于微服务概念的提出,将不同的服务部署到不同的服务器上,在分布式上会产生一定的困难:

  • 远程调用
  • 服务发现
  • 负载均衡
  • 服务容错
  • 配置管理
  • 服务监控
  • 链路追踪
  • 日志管理
  • 任务调度

解决方案:

image.png

二、SpringBoot官方文档

image.png

三、SpringBoot快速入门

1. Maven配置

<mirrors>
      <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
      </mirror>
  </mirrors>
 
  <profiles>
         <profile>
              <id>jdk-1.8</id>
              <activation>
                <activeByDefault>true</activeByDefault>
                <jdk>1.8</jdk>
              </activation>
              <properties>
                <maven.compiler.source>1.8</maven.compiler.source>
                <maven.compiler.target>1.8</maven.compiler.target>
                <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
              </properties>
         </profile>
  </profiles>
复制代码

2. 编写HelloWorld

浏览器发送/hello请求,响应‘Hell,SpringBoot’

2.1 创建一个Maven项目

image.png

2.2 创建POM文件

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.4.RELEASE</version>
</parent>
复制代码

2.3 添加类路径依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>
复制代码

2.4 SpringBoot应用入口

image.png

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

2.5 编写Controller

/**
 * @Controller : 标记这是一个Controller类
 * @ResponseBody : 该类的所有方法返回的数据是直接写给浏览器的,而不是跳转到某个页面
 *
 * @RestController : @Controller + @ResponseBody
 */
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String handle01() {
        return "Hello, SpringBoot";
    }
}
复制代码

2.6 编写配置文件

image.png

server.port=8899
复制代码

所有能够编写的配置项

2.7 部署

添加SpringBoot提供的插件:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
复制代码

然后点击IDEA右侧的Maven选项,进行打包:
image.png
完成后打好的jar包位于:
image.png
可以通过java -jar的命令对jar包进行使用:
image.png

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享