第2章 Spring Boot核心配置与注解_第1页
第2章 Spring Boot核心配置与注解_第2页
第2章 Spring Boot核心配置与注解_第3页
第2章 Spring Boot核心配置与注解_第4页
第2章 Spring Boot核心配置与注解_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章SpringBoot核心配置与注解本章内容:1.熟悉SpringBoot自动化配置2.掌握SpringBoot配置文件属性值注入3.掌握SpringBoot多环境配置engineeringSoftware2.1自动化配置

常规的配置让开发人员将更多的经历耗费在了配置文件上。而这些配置都是一些固定模式的配置方式,甚至很多都是模板代码,那既然是这样一种情况,有没有一种可能性,让Spring自动完成这些模板配置工作呢?答案是肯定的,这就是SpringBoot自动化配置产生的初衷。将开发人员从繁重的配置工作中解放出来,而这些繁琐的配置细节交由SpringBoot去完成,如果我们需要提供自己的配置参数,只需要覆盖自动配置的参数即可。engineeringSoftware在项目的启动类上需要添加注解@SpringBootApplication,这是SpringBoot的核心注解,目的是开启自动化配置,它其实是一个组合注解。2.1.1@SpringBootApplication

engineeringSoftware虽然定义使用了多个Annotation进行了原信息标注,但实际上重要的只有三个Annotation:@Configuration(@SpringBootConfiguration点开查看发现里面还是应用了@Configuration)@EnableAutoConfiguration@ComponentScan2.1.1@SpringBootApplication

engineeringSoftware每个SpringBoot项目都有一个主程序启动类,在主程序启动类中有一个启动项目的main()方法,在该方法中通过执行SpringApplication.run()即可启动整个SpringBoot程序。那么SpringApplication.run()方法到底是如何做到启动SpringBoot项目的呢?1.SpringApplication初始化阶段2.SpringApplication运行阶段2.1.2SpringApplication

engineeringSoftwareSpringBoot中免除了大部分手动配置,但是对于一些特殊的情况,还是需要我们进行手动配置的。SpringBoot项目提供了一个全局配置文件perties或者application.yml,对一些默认的配置值进行修改,存放在src/main/resources目录下或者类路径下的/config下。perties配置文件比较简单,形式如下key=value有时候我们需要重新制定端口,使用“server.port”就可以制定内置Tomcat容器的端口:server.port=80882.2全局配置

engineeringSoftwareYAML文件格式是SpringBoot支持的一种JSON超集文件格式,相较于传统的Properties配置文件,YAML文件以数据为核心,是一种更为直观且容易被计算机识别的数据序列化格式。application.yml配罝文件的工作原理和perties是一样的,只不过YAML格式配罝文件看起来更简洁一些。YAML文件的扩展名可以使用.yml或者.yaml。application.yml文件使用“key:(空格)value”格式配置属性,以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的。2.2全局配置

engineeringSoftwareserver:port:8888path:/pathname:first:tiansecond:song2.2全局配置

engineeringSoftwareYAML支持的数据结构有三种。1.字面量:单个的、不可再分的值2.对象:键值对的集合,又称为映射(mapping)/哈希(hashes)/字典(dictionary)3.数组:一组按次序排列的值,又称为序列(sequence)/列表(list)

SpringBoot为我们提供了application.properties配置文件,让我们可以进行自定义配置,来对默认的配置进行修改,以适应具体的生产情况。当然,还包括一些第三方的配置,接下来我们介绍如何读取第三方的配置信息。2.3自定义配置

engineeringSoftware@Value注解用于读取Java代码中的环境或应用程序的属性值,通常用来配置单个环境变量。其读取属性值的语法如下所示。@Value("${property_key_name}")接下来通过一个案例演示一个@Value注解的使用方法。2.3.1注入自定义属性到字段中

engineeringSoftware在SpringBoot中,当需要获取到配置文件数据时,除了可以用Spring自带的@Value注解外,SpringBoot提供了一种更加方便的方式:@ConfigurationProperties。只要在bean上添加上这个注解,指定好配置文件的前缀,那么对应的配置文件数据就会自动填充到bean中。接下来通过一个案例演示一个@ConfigurationProperties注解的使用方法。2.3.2注入自定义属性到对象中

engineeringSoftware所有的配置都可以写到application.properties文件中,这个文件会被SpringBoot自动加载,免去了我们手动加载的烦恼。但实际上,很多时候我们会自定义配置文件,这些文件就需要进行手动加载,SpringBoot是不会自动识别这些文件的。这时可以使用@PropertySource注解找到项目的其他配置文件,然后结合上面两小节中任意一种方法读取即可。

接下来通过一个案例演示一个@PropertySource注解的使用方法。2.3.3注入自定义配置文件

engineeringSoftware在SpringBoot框架中,推荐使用配置类的方式向容器中添加和配置组件。在SpringBoot框架中,通常使用@Configuration注解定义一个配置类,SpringBoot会自动扫描和识别配置类,从而替换传统Spring框架中的XML配置文件。当定义一个配置类后,还需要在类中的方法上使用@Bean注解进行组件配置,将方法的返回对象注入到Spring容器中,并且组件名称默认使用的是方法名,当然也可以使用@Bean注解的name或value属性自定义组件的名称。

接下来通过一个案例演示一个@Configuration编写自定义配置类的用法。2.3.4自动扫描配置类

engineeringSoftware我们在开发SpringBoot应用时,通常同一套程序会被应用和安装到几个不同的环境,比如:开发、测试、生产等。其中每个环境的数据库地址、服务器端口等等配置都会不同,如果在为不同环境打包时都要频繁修改配置文件的话,那必将是个非常繁琐且容易发生错误的事。2.4多环境配置

engineeringSoftwareSpringBoot给我们提供了非常好的支持,那就是多环境配置。我们可以将多种环境的参数一起配置到项目中,只需要执行不同的运行命名,就可以达到切换环境的目的。在SpringBoot中多环境配置文件名必须满足:application-{profile}.properties或者application-{profile}.yaml的固定格式,其中{profile}对应你的环境标识。其中,application.yaml是启动服务时,服务器会自动加载的配置文件,而application-dev.yaml代表的是开发环境的配置文件,application-test.yaml代表的是测试环境的配置文件,后两个文件在启动服务时,服务器不会自动加载,接下来通过一个案例演示多环境配置文件的用法。2.4.1使用Profile进行多环境配置

engineeringSoftware除了使用Profile文件进行多环境配置外,还可以使用@Profile注解进行多环境配置。@Profile注解在不同的场景下,给出不同的类实例。比如在生产环境中给出的DataSource实例和测试环境给出的DataSource实例是不同的。@Profil

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论