【注意】谷粒学院学习Spring以及Maven
一、微服务概念
是一种架构风格,一个应用是一组小型服务;可以通过http进行交互;每一个功能元素最终都是可独立替换、独立升级的;
二、Spring Boot Hello world工程
- 创建工程
- 导入依赖
- 编写主程序类
标注主程序类,@SpringBootApplication,说明这是一个主程序应用。 - 编写Controller、Service类、标注
- 运行主程序
- 简化部署
对于SpringBoot应用,导入"spring-boot-maven-plogin"插件,该插件可将应用打包成一个可执行的jar包。
三、Spring Boot注解
-
@SpringBootApplication
标注在某个类上,即说明这个类是Spring Boot的主配置类,Spring Boot就应该运行这个类的main方法来启动SpringBooot应用。 -
@SpringBootConfiguration
Spring Boot的配置类,标注在某个类上,就说明这是一个Spring Boot的配置类。- @Configuration:配置类上来标注这个注解,配置类也是容器中的一个组件;
【配置类=======配置文件】
- @Configuration:配置类上来标注这个注解,配置类也是容器中的一个组件;
-
@EnableAutoConfiguration
开启自动配置功能。- @AutoConfigurationPackage:自动配置包,作用是将主配置类标注的类的所在包及下面所有的子包里面的所有组件扫描到Spring容器;
-
@ ConfigurationProperties
告诉SpringBoot本类中的所有值都是配置文件中的值;prefix = "???",表示和配置文件中"???"下的所有属性一一对应,默认从全局配置文件中获取值。 -
@PropertySource
加载指定的配置文件,value = {"classpath: person.properties"} -
@ImportResource
导入Spring的配置文件,让配置文件里的内容生效。 -
@Validated
表示属性值支持校验;- @Email:表示值必须是邮箱格式;
四、使用Spring Initializer快速创建Spring Boot项目
- File---new project-s---pring initializer---选择需要的模块,会自动创建项目;
- 主程序已经写好,我们只需要写自己的业务逻辑;
- resources文件夹中目录结构
- static:保存所有静态资源
- templates:保存所有模板页面;可以使用模板引擎;
- application.properties:Spring Boot应用的配置文件;
五、SpringBoot配置
【可以导入配置文件处理器,以后编写配置文件就会有提示了!】
【配置文件中中文在运行时乱码问题:file---file encodings---default encoding for properties files改为UTF-8】
- 两种类型的配置文件,固定命名
- application.properties
- application.yml
- YAML
- 以数据为中心,比json、xml更适合做配置文件;
- 以空格缩进控制层级关系,所有相同缩进的属于同一级;
- 加载配置文件
高优先级配置覆盖低优先级配置,不同内容形成互补配置;优先级由高到低:file./config ---> file./ ----> classpath./config ---> classpath./ - 自动配置功能
六、SpringBoot日志
1. SLF4j门面框架
开发时,日志记录不应该直接调用日志实现类,而是调用日志抽象层的方法。给系统里面导入SLF4j和logback的jar包。配置文件还是使用实现框架自己本身的配置文件。
2. logback实现框架
3. 日志使用
SpringBoot默认帮我们配置了日志,日志级别由低到高:trace、debug、info、warn、error,可以调整日志输出级别,则日志只会在这个级别及以后的级别生效。
4. 指定日志配置
- logbak.xml:直接就被日志框架识别了
- logback-spring.xml:日志框架无法直接加载日志的配置项,由SpringBoot解析日志配置,可以使用SpringBoot的高级profile功能。