SpringBoot入门和配置
一、SpringBoot入门和微服务简介
1.SpringBoot入门
springboot:J2EE一站式解决方案
springcloud:分布式整体解决方案
SpringBoot:对Spring框架的进一步升级,能够快速创建Spring项目并独立运行,内嵌Tomcat、jetty服务器,不用打WAR包部署,提供starter简化Maven配置,自动配置Spring,大量使用注解零XML文件配置 。
2.微服务简介
微服务:架构风格
3.HelloWorld
3.1springboot pom文件中的依赖
spring-boot-starter:springboot场景启动器。
spring-boot-starter-parent:父项目,版本仲裁,导入依赖默认不需要写版本。
spring-boot-starter-web:web需要的依赖。
spring-boot-maven-plugin:打包
spring-boot-starter-test:单元测试
3.2springboot注解
@Configuration:定义配置类
@SpringBootApplication:主程序类
@SpringBootConfiguration:spring Boot项目的配置注解
@EnableAutoConfiguration:开启自动配置
@ComponentScan:组件扫描注解
4.使用spring向导快速创建springboot应用 STS:spring starter project
resources文件夹中目录结构:
static:保存所有静态文件
templates:保存所有的模板页面。springboot 默认jar包使用嵌入式的tomcat,默认不支持jsp,可以使用模板引擎(freemarker、thymeleaf)。
application.properties:springboot应用配置文件,可以修改一些默认配置。
二、SpringBoot配置
配置文件、加载顺序、配置原理
1.配置文件
1.1全局配置文件
application.properties
application.yml
1.2yaml简介
1.3yaml语法
1)基本语法:K:(空格) V键值对,以空格的缩进控制控制层级关系。
2)值的写法
字面量:字符串等
"":不会转义特殊字符,'':会转义特殊字符。
对象:user: {name: name, age: 18}
数组:pets: [cat,dog,pig]
1.4yaml配置文件值获取
1)@Component
@ConfigurationProperties(prefix = "")
2)spring-boot-Configuration-processor:配置文件处理器,编写配置文件会有提示。
1.5properties配置文件编码问题
file->settings->file encodings
1.6@ConfigurationProperties和@Value区别
代码中需要使用配置文件中某项值,使用@Value。
1.7@PropertySource @ImportResource @Bean
@PropertySource:加载指定的配置文件。
@ImportResource:导入spring的配置文件
@Configuration 和 @Bean:替代bean.xml配置文件。
1.8配置文件占位符
随机数和${:默认值}
1.9Profile多环境支持
1)多profile文件:application-{profile}.properties
2)yml支持多文档块方式
---
3)激活指定profile
配置文件中:spring.profiles.active=dev
1.10配置文件的加载位置
1.11外部配置加载顺序
高优先级覆盖第优先级+互补配置
1.12自动配置原理
1.13@Conditional&自动配置报告