【无标题】

​一、Spring Boot简介

1.1什么是SpringBoot

我们知道,从 2002 年开始,Spring 一直在飞速的发展,如今已经成为了在Java EE(Java Enterprise Edition)开发中真正意义上的标准,但是随着技术的发展,Java EE使用 Spring 逐渐变得笨重起来,大量的 XML 文件存在于项目之中。繁琐的配置,整合第三方框架的配置问题,导致了开发和部署效率的降低。

 2012 年 10 月,Mike Youngstrom 在 Spring jira 中创建了一个功能请求,要求在 Spring 框架中支持无容器 Web 应用程序体系结构。他谈到了在主容器引导 spring 容器内配置 Web 容器服务。这是 jira 请求的摘录:

这一要求促使了 2013 年初开始的 Spring Boot 项目的研发,到今天,Spring Boot 的版本已经到了 2.0.3 RELEASE。Spring Boot 并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。

它集成了大量常用的第三方库配置,Spring Boot应用中这些第三方库几乎可以是零配置的开箱即用(out-of-the-box),大部分的 Spring Boot 应用都只需要非常少量的配置代码(基于 Java 的配置),开发者能够更加专注于业务逻辑

1.2.、特性

  • 快速创建独立 Spring 应用

    • SSM:导包、写配置、启动运行

  • 直接嵌入Tomcat、Jetty or Undertow(无需部署 war 包)【Servlet容器】

    • linux java tomcat mysql:war 放到 tomcat 的 webapps下

    • jar:java环境;java -jar

  • 重点:提供可选的starter,简化应用整合

    • 场景启动器(starter):web、json、邮件、oss(对象存储)、异步、定时任务、缓存...

    • 导包一堆,控制好版本。

    • 为每一种场景准备了一个依赖; web-starter。mybatis-starter

  • 重点:按需自动配置 Spring 以及 第三方库

    • 如果这些场景我要使用(生效)。这个场景的所有配置都会自动配置好。

    • 约定大于配置:每个场景都有很多默认配置。

    • 自定义:配置文件中修改几项就可以

  • 提供生产级特性:如 监控指标、健康检查、外部化配置等

    • 监控指标、健康检查(k8s)、外部化配置

  • 无代码生成、无xml

1.3、四大核心

  1. 自动配置(Auto-configuration)

    • Spring Boot会根据项目中引入的依赖和其他因素自动配置应用程序。例如,当在项目的classpath中检测到spring-boot-starter-web依赖时,Spring Boot会自动配置一个内嵌的Servlet容器(如Tomcat)和相关的Web组件。

    • 通过这种自动配置,开发人员无需手动编写大量的配置代码,从而降低了配置的复杂度,提高了开发效率。

  2. 起步依赖(Starters)

    • 起步依赖是Spring Boot提供的一组特殊的Maven或Gradle依赖,用于快速添加应用程序所需的功能。

    • 例如,spring-boot-starter-web起步依赖包含了Web应用程序所需的所有依赖,如Spring MVC、Tomcat等。开发人员只需在项目的构建配置文件中添加相应的起步依赖,即可快速构建所需的功能。

  3. 命令行界面(Command Line Interface, CLI)

    • 这是Spring Boot的一个可选特性,允许开发人员通过命令行快速创建和运行Spring应用程序。

    • 通过CLI,开发人员可以更加快速地迭代和测试应用程序,无需进行繁琐的项目构建和部署过程。

  4. Actuator

    • Actuator是Spring Boot提供的一个监控和管理应用程序的工具。

    • 通过Actuator,开发人员可以深入了解运行中的Spring Boot应用程序的状态和性能,包括应用程序的健康检查、度量信息、环境属性等。

    • Actuator还提供了一系列端点(endpoints),用于与应用程序进行交互,如获取JVM信息、关闭应用程序等。

1.4、特点

  1. 简化配置:

    • Spring Boot采用了“约定优于配置”的理念,通过自动配置和默认配置减少了繁琐的XML配置和代码编写。

    • 它提供了大量的默认自动配置,来简化项目的开发,开发人员也通过配置文件修改默认配置。

    • 这使得开发人员可以更加专注于业务逻辑的实现,而无需过多关注底层的技术细节。

  2. 快速搭建:

    • Spring Boot提供了一键式的快速搭建功能,内置了Tomcat等常用插件,开发者只需要添加少量的依赖和配置即可快速搭建起一个应用程序。

    • 它支持以jar包的形式独立运行,项目只需通过命令“java -jar xx.jar”即可运行。

  3. 微服务支持:

    • Spring Boot提供了丰富的功能和工具,支持构建分布式微服务架构。

    • 它方便实现服务治理、负载均衡、容错等功能,使得微服务架构的搭建和运维更加简单。

  4. 自动配置:

    • Spring Boot根据应用程序中的依赖,自动推断和配置各种组件的默认行为。

    • 它允许开发者自定义配置参数,通过配置文件即可灵活调整应用程序的行为。

    • 这种自动配置机制大幅减少了开发人员的工作量,提高了开发效率。

  5. 管理依赖:

    • Spring Boot使用了Maven或Gradle来管理依赖关系,直接声明所需的依赖即可,不再需要手动处理版本冲突和依赖安装等问题。

    • 通过@EnableAutoConfiguration注解,自动装配各种组件和配置,大大减少了配置的繁琐性。

  6. 内置服务器:

    • Spring Boot内置了常用的Web服务器,例如Tomcat、Undertow等,开发者不需要自己手动配置服务器,实现了快速启动的功能。

二、快速入门

2.1 搭建springboot工程

在主类所在的包下创建controller包并在该包下创建一个HelloController类

@RestController
public class HelloController {
 
    @GetMapping("hello")
    public Map<String, Object> hello() {
        // 创建一个用于存储返回结果的Map对象
        Map<String, Object> map = new HashMap<>();
        // 向Map中添加名为"name"的键值对,值为"张三"
        map.put("name", "张三");
        // 向Map中添加名为"age"的键值对,值为25
        map.put("age", 25);
        // 返回存储结果的Map对象
        return map;
    }
}

启动主函数:

@SpringBootApplication
public class SpringbootApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(SpringbootApplication.class, args);
    }
 
}

浏览访问HelloContnroller下的路径资源:

2.2 了解pom.xml以及配置文件

pom.xml

    <!--继承springboot父工程:该工程中的主要作用:对jar的版本管理-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.12</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

application.properties

application.properties配置文件是用于配置应用程序的各种属性和设置的文件。它是一个常见的外部配置文件,可以在其中指定应用程序的行为,包括数据库连接、端口号、日志级别、国际化设置等。

#Tomcat端口号[]  key=value
server.port=7777
# 设置工程的上下文路径
server.servlet.context-path=/aaa

2.3. springboot的配置文件种类

properties:属性文件类型: 格式 key=value格式

#Tomcat端口号[]  key=value
server.port=7777
# 设置工程的上下文路径
server.servlet.context-path=/aaa

yml:文件类型: 格式:application.yml

server:
  port: 8081  #Tomcat端口号[]
  servlet:
    context-path: /bbb     #设置工程的上下文路径

如果ymlproperties都存在相同的配置,则以properties为主, 如果两个配置文件的内部不同。则合并。

注:不管是哪种格式,他们的名称必须叫:application

2.4、将项目打成jar包

双击mavenpackage(打包)按钮,对项目进行打包。若打包成功,则会在target目录下生成一个jar包。如下图所示:

打成了jar包后,该项目就可以在任何地方运行了!

注:在以前开发的web单体应用中,所有的功能被放在一个war包内;而使用Spring Boot开发的微服务项目中,各个项目会被打包成一个个可执行的jar包。

关注 “Java技术营地 微信公众号,干货每日准时送达。

  • 12
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值