SpringBoot(五)SpringBoot基础
1.Spring Boot 概述
什么是Spring BootSpringBoot使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。使用SpringBoot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用SpringBoot你可以不用或者只需要很少的Spring配置。
SpringBoot的核心功能:
1.独立运行的Spring项目:可以以jar包的形式独立运行,
2.内嵌Servlet容器:SpringBoot可选择内嵌Tomcat、Jetty或者Undertow,这样我们无需以war包形式部署项目
3.提供starter POM简化依赖jar包的配置
4.自动配置Spring:SpringBoot会根据在类路径中的jar包、类,为jar包里的类自动配置Bean,这样会极大地减少我们要使用的配置。当然,SpringBoot只是考虑了大多数的开发场景,并不是所有的场景,若在实际开发中我们需要自动配置。而Spring Boot没有提供支持,则可以自定义自动配置
5.准生产的应用监控
2.SpringBoot核心
基本配置:
入口类和@SpringBootApplication:
SpringBoot通常有一个名为*Application的入口类,入口类里有一个main方法,这个main方法其实就是一个标准的Java应用的入口方法。在main方法中使用SpringApplication.run(*Applicaiton.class,args),启动SpringBoot应用项目
@SpringBootApplication是SpringBoot的核心注解,它是一个组合注解,组合了@Configuration、@EnableAutoConfiguration、@ComponentScan。其中@EnableAutoConfiguration让SpringBoot根据类路径中的jar包依赖为当前项目进行自动配置。
SpringBoot会自动扫描@SpringBootApplication所在类的同级包以及下级包做的Bean。建议入口类放置的位置在groupId+arctifactId组合的包下
关闭特定的自动化配置:使用@SpringBootApplication注解的exclude参数
Spring boot的配置文件:
SpringBoot使用一个全局的配置文件applicaiton.yaml或application.properties,放置在src/main/resources目录或者类路径的/config下
starter pom:
外部配置:
命令行参数配置:在命令行中添加--key=value来设置命令行参数
常规属性配置:定义在applicaiton.yaml中的参数可以直接使用@Value配置
类型安全的配置:通过@ConfigurationProperties将配置文件中的属性和一个Bean及其属性关联,从而实现类型安全的配置
3.日志配置
4.Profile配置
Profile是Spring用来针对不同的环境对不同的配置提供支持的,全局Profile配置使用application-{profile}.yaml
通过在applicaiton.yaml中设置spring.profiles.active=prod来指定活动的Profile,也可以用其他的方式设定如命令行指定