SpringBoot 基础

1.概念

1.1 介绍

官网地址: https://spring.io/
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot 致力于 在蓬勃发展的快速应用开发领域成为领导者。
2013 年, Pivotal 团队开始研发 SpringBoot 2014 4 月,发布全新开源的轻量级框架的第一个 SpringBoot 版本。
原博文: https://www.sohu.com/a/286995880_684445

1.2 特点

为什么要学习SpringBoot
SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物, 自动装配 的特性 让我们可以更好的关注业务本身而不是外部的XML 配置,我们只需遵循规范,引入相关的依赖就可以轻易的 搭建出一个 WEB 工程 未接触SpringBoot 之前,搭建一个普通的 WEB 工程往往需要花费 30 分钟左右,如果遇到点奇葩的问题耽搁的 时间会更长一点,但自从用了SpringBoot 后,真正体会到什么叫分分钟搭建一个 WEB,使用 SpringBoot 后发现一切是如此的简单(还记得被 JAR 包, xml 支配的恐惧吗,如 今都可以说 good bye
在传统的一些框架中( SSH SSM Servlet/JSP ) 虽然功能很强大但是配置起来太麻烦了,相比 python 或者 php , Java 就略显臃肿,主要问题集中在两点:
1. 复杂的配置文件:
项目之间各种配置文件铺天盖地,在开发的过程中占用了大量的时间,并且需要做这些配置文件进行维护,整个项目感觉特别复杂,并且Java 代码和配置文件之间的切换开发,给程序人员带来很大的负担。
2. 各种依赖比较混乱:
主要问题就是版本冲突,不同技术的版本需要我们知道哪些版本存在冲突问题,一旦使用错误就需要重新再去下载库进行依赖。
Spring Boot 简化了基于 Spring 的应用开发,只需要一个 ”run” 就创建了一个独立的、生产级别的 Spring 应 用,Spring boot Spring 平台及第三方提供了开箱即用的设置 ( 默认设置的包就是启动器 starter) ,这样我们 就可以简单的开始。Spring Boot 主张,用最少的配置做更多的事。如果我们创建一个 Java 应用,并使用 java -jar启动,就能得到一个生产级别的 web 工程。
特点:
       1.  创建独立的 Spring 应用程序
       2.  直接嵌入Tomcat、Jetty或Undertow(无需部署WAR文件)
       3.  提供自以为是的“入门”依赖项以简化您的构建配置
       4.  尽可能自动配置 Spring 和 3rd 方库
       5.  提供生产就绪功能,例如指标、运行状况检查和外部化配置
       6.  完全不需要代码生成,也不需要 XML 配置
        SpringBoot = Spring+SpringMVC

2. 构建SpringBoot项目

2.1 start.spring.io

2.2 Spring Initializr 

选择依赖 

创建完成结构  

2.3 运行项目 

点击选择启动项目工程

观察启动日志

 2.4 前后台交互

 创建控制层

重启项目并访问

http://localhost:8080/example/show

输出:

至此 前后台交互完成!!

2.5 目录结构 

 工程结构

pom文件 

 

分析依赖!

2.6 自定义Banner 

SpringBoot 启动的时候我们可以看到如下内容,这一块其实是可以自定义的哦,而且在 2.X 版本中,它支持 的格式从文本扩展到**banner.txt banner.jpg banner.gif banner.jpeg 等等,只需要在 resouces** 目录下添加指定命名的文件即可

重启运行

 

 2.7 查看SpringBoot默认提供的Bean

2.8 手动注入bean  

运行查看是否注入
控制层可以注解读取

2.9 初窥配置文件

从启动日志中可以发现, SpringBoot 默认的端口是 8080 ,那么如果端口被占用了怎么办呢?不要慌,问题 不大,配置文件分分钟解决你的困扰…

 

重启测试 

2.10 关于starter

stater 参赛人、发令员
Spring Boot 中的 starter 只是把我们某一模块,比如 web 开发时所需要的所有 JAR 包打包好给我们而已。不 过它的厉害之处在于,能自动把配置文件搞好,不用我们手动配置。
spring-boot-starter-web
spring-boot-starter-parent
这是 Spring Boot 的父级依赖,这样当前的项目就是 Spring Boot 项目了。 spring-boot-starter-parent 是一个特殊的 starter
功能 1:默认依赖配置(绝对兼容)
它用来提供相关的 Maven 默认依赖。使用它之后,常用的包依赖可以省去 version 标签,当我们搭建 web 应用的时候,
可以像下面这样添加 spring-boot-starter-web 依赖:
但是这种允许默认不填写版本号的依赖也必须是 boot 中默认给定的,如果没有默认给定,还是需要手动填写 的。
功能 2:默认环境配置(绝对兼容)
默认使用 Java8 ,可添加以下配置修改版本
默认使用 UTF-8 编码,可添加以下配置修改编码
...
功能 3:资源过滤
识别默认配置文件

过滤打包内容(打包的时候把 src/main/resources 下所有文件都打包到包中)

 

 3. YAML文件

在我们翻阅 stater 的过程中,也应该发现配置文件除了可是使用 application*.properties 类型,还可以使用后 缀为.yml .yaml 类型,这种类型相比 properties 类型支持了集合对象等数据,但是前提也必须是application*才能被 Spring 扫描到。

配置环境基础信息,创建application.yaml

3.1 语法规则 

1. 大小写敏感
2. 使用缩进表示层级关系
3. 缩进时不允许使用Tab键,只允许使用空格。
4. 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
5. 可以使用 "-小写字母" 或 "_小写字母"来 代替 "大写字母",如 userName 与 user-name ,user_name 含 义是一样的
6. key: value 格式书写 key 后面跟着冒号,再后面跟着一个空格,然后是值
7. 注释使用#

3.2 数据类型

YAML 支持的数据结构有三种
1. 普通的值(数字,字符串,布尔)
2. 对象、Map (属性和值) (键值对)
3. 数组 (List、Set)
测试代码

 

 读取配置文件

关于直接获取数组类型

读取 yml 中配置的一个数组,通过 @Vaule 一直获取不到,通过一番资料的查询,才彻底清楚了 @Vaule 的使用情况。
Spring 中读取配置文件的快捷方法常见的有两种,一个是通过 @Vaule 注解进行单一字段的注入,另外一种方法就是通过@ConfigurationProperties 注解来进行批量注入。

 

 声明配置类

使用方法

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值