Spring Boot入门
Spring Boot介绍:
Spring Boot是构建所有基于Spring的应用程序的起点,Spring Boot指在通过最少的Spring前期配置使您尽快启动并运行。它的核心思想是约定优于配置,Spring Boot所有开发细节都是依据此思想进行实现的。
优势: 简单来说就是简单、快速、方便。
使用Spring Boot开发项目的优势:
- Spring Boot使开发变得简单,提供了丰富的解决方案,快速集成各种解决方案提升开发效率。
- Spring Boot使配置变得简单,提供了丰富的Starters,集成主流开源产品往往只需要简单的配置即可
- Spring Boot使部署变得简单,其本身内嵌启动容器,仅仅需要一个命令就可以启动项目,结合Jenkins、Docker自动化运维非常容易实现。
创建方式(3种)
依赖环境:
Spring Boot2.0最低要求jdk1.8或jdk1.8以上并配置环境变量。
构建工具:
在java领域中有三大构建工具,分别是Aut、Maven、Gradle。在Spring Boot中支持Maven和Gradle,但是Gradle虽然有更好的理念,但是相比Maven来讲其行业使用率偏低。
开发工具:
java领域流行的IDE开发工具有IDEA和Eclipse。
创建方法:https://blog.csdn.net/weixin_44552039/article/details/104185265
核心思想讲解(约定优于配置和Starters)
约定优于配置(Convention Over Configuration):
约定优于配置也称作按约定编程,是一种软件设计范式,指在减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。
Starters(启动器):
Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成Spring及其它技术,而不需要到处找示例和依赖包。例如你想使用Spring Data JPA访问数据库,只要加入spring-boot-starter-data-jpa启动器依赖就能使用了。
Spring Boot全局配置文件
分别是application.properties文件和application.yml文件,两个文件的作用就是可以覆盖SpringBoot自动配置的默认值。
application.properties文件:
位置: 默认是放在resources文件夹中。
.properties文件的语法是key=value,比如a=1。
该文件主要用来配置数据源连接、日志等一些相关配置,也可以覆盖Spring Boot中自动配置的值,比如Tomcat端口号、项目路径等。
application.yml文件:
YAML简介:
yml是YAML语言的文件,以数据为中心,比json、xml等更适合做配置文件。
语法:
注: 以空格的缩进程度来控制层级关系。空格的个数并不重要,只要左边空格对齐则 视为同一个层级。注意不能用 tab 代替空格。且大小写敏感。支持字面值,对象,数 组三种数据结构,也支持复合结构。
字面值: 字符串,布尔类型,数值,日期。字符串默认不加引号,单引号会转义 特殊字符。日期格式支持 yyyy/MM/dd HH:mm:ss 。
对象: 由键值对组成,形如 key:(空格)value 的数据组成。冒号后面的空格是必须 科泰教育 第 16 页 要有的,每组键值对占用一行,且缩进的程度要一致,也可以使用行内写法:{k1: v1, …kn: vn}。
数组: 由形如 -(空格)value 的数据组成。短横线后面的空格是必须要有的,每组数 据占用一行,且缩进的程度要一致,也可以使用行内写法: [1,2,…n] 。
复合结构: 上面三种数据结构任意组合。
位置: 默认也是放在resource文件夹中。
注解介绍
-
@SpringBootApplication:
该注解中又包含了三个注解,分别是:
@SpringBootConfiguration:
标注该类为SpringBoot配置类,去掉SpringBoot效果也是相同的,只是会标注为是一个Spring的配置类。@EnableAutConfiguration:
开启自动配置;它主要是通过@Import注解导入了AutConfigurationImportSelector类。@ ComponentScan:
组件扫描,与之前SSM框架中写在xml配置文件里的效果相同。 -
@Configuration:
标注这个类是一个配置类,取代xml。 -
@PropertySource(“classpath:db.properties”):
读取指定.properties文件。 -
@Resource:
用来实现依赖注入。 -
@Bean:
标注在类中的方法,类似于标签,将方法的放回值加入到Bean容器。 -
@ConfigurationProperties(prefix = “jdbc”):
加载外部配置,使用该注解时就不需要@Value注解了,但是名称要对应上才能获取值!
注:该注释整个程序只能有一个,不然会发生冲突!!! -
@Value:
属性注入,属性名一定要和数据源中的属性名一致。 -
@EnableConfigurationProperties(类名.class):
使使用了 @ConfigurationProperties 注解的类生效。