SpringBoot 学习笔记(一)

了解

使用SpringMVC开发项目的麻烦:

首先导入各种依赖,Spring,SpringMVC等,在编写相应的配置文件.xml文件,然后在编写自己的代码,最终还要将整个项目打包,放到Tomcat服务器上运行。

SpringBoot是整合Spring技术栈的一站式框架,能快速创建出生产级别的Spring应用。

SpringBoot是简化Spring技术栈的快速开发脚手架

优点

  • 可以创建独立的Spring应用
  • 内嵌web服务器,无需打包成war包,无需再安装Tomcat环境
  • 自动starter(启动器)依赖,简化构建配置(自动搭建场景配置,比如web开发,并且管理所有依赖的版本控制,不会出现版本不一致的情况,使得开发人员免于复杂的配置,专心于业务逻辑的实现)
  • 自动配置Spring以及第三方功能(连Redis,连MySQL)
  • 提供生产级别的监控、健康检查及外部化配置(需要修改某个模块,只需配置一下,无需修改源代码)
  • 无代码生成、无需编写XML

Spring5重大升级

SpringBoot2源码是由Java JDK8实现的,JDK8的新特性(接口的默认实现),JDK8之前,如果要实现一个接口,需要实现它里面的全部的方法,但是会有这种情况,比如有一个接口,里面声明了1,2,3,4,5 等5个方法,而A类只需要其中的1,2,方法,B类只需要其中的3,4方法,这时,为了解决这个问题,使用的适配器的功能,即该适配器实现了接口的所有方法,但是都是空方法,A类继承这个适配器,只需重写1,2方法即可,B类继承适配器,只需重写3,4方法即可。JDK8引入接口的默认实现新特性之后,无需再使用适配器,需要哪个方法实现哪个方法即可。

SpringBoot时代背景

微服务

微服务架构,将一个大应用拆分成多个小型服务,每个服务运行在自己进程内,可以独立部署某个服务器上和迭代升级,服务之间使用轻量级HTTP交互,服务的拆分可以根据大型应用的业务功能,可以由全自动部署机制独立部署,去中心化,服务自治的特点,允许每个微服务,可以使用不同的语言开发,也可以使用不同的存储技术。

分布式

由于微服务的出现,各种各样的服务独立部署到不同的服务器上,必然产生分布式的问题。

1. 分布式的困难

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

2. 分布式的解决

  • SpringBoot + SpringCloud

 

云原生

原生应用如何上云

上云的困难

  • 服务自愈
  • 弹性伸缩
  • 服务隔离
  • 自动化部署
  • 灰度发布
  • 流量治理

 入门

HelloWorld

1. 创建Maven工程

2.引入依赖

pom.xml

    // 引入SpringBoot启动器
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.6</version>
    </parent>

    // 引入web开发场景
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

3. 创建主程序

MyApplication.java

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

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

4.编写业务

Controller/HelloController.java

//@ResponseBody
//@Controller
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String handle01(){
        return "Hello, Spring Boot 2!";
    }
}

5. 测试

直接运行main方法

6. 简化配置

application.properties

server.port=8088

7. 简化部署

pom.xml

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

把项目打成jar包,直接在目标服务器执行即可。

注意点:

  • 取消掉cmd的快速编辑模式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值