spring boot-基础配置

一、简介

spring boot 使用注解简化xml 相关配置,其重要注解有: @ComponentScan、@Configuration、@EnableAutoConfiguration。

需要深入理解自动化配置的原理可参考《JavaEE开发的颠覆者 Spring Boot实战》

自动化配置依赖的注解:
@Import 注册一个有@Configuration、@Component 修饰的组件到ApplicationContext

@ConfigurationProperties 把配置文件中的值(application.yml / application.properties 中配置的值)注入对象的属性,其注解的类需要有setter 方法。类通常为xxxProperties.java

@EnableConfigurationProperties 引入配置对象,其修饰类的对象方法将可以使用该配置对象(xxxProperties)作为参数,使用@Bean 方法返回需要注册的对象到ApplicationContext

二、Web 容器配置

1.tomcat 配置
spring boot 内置了服务器,可以对服务器相关数据进行配置,其配置类为 org.springframework.boot.autoconfigure.web.ServerProperties。

2.https 配置
https 有较好的安全性,对于个人而言,一个https 证书价格有点贵,jdk 提供了一个java 数字证书管理工具 keytool。

1).keytool -genkey -alias https_ch2 -keyalg RSA -keysize 2048 -keystore https_ch2.p12 -validity 365
在这里插入图片描述
命令行使用以上命令生成数字证书

-genkey : 表示创建一个密钥
-alias : 证书别名
-keyalg : 加密算法,常见加密算法有RSA 等
-keysize : 密钥长度
-keystore : 密钥存放名字
-validity : 密钥有效期,单位天

根据提示输入相关信息,完成后把当前目录下生成的文件复制到项目根目录,并在application.yml / application.properties 配置如下:

server:
  ssl:
    key-alias: https_ch2
    key-store: https_ch2.p12
    key-password: 123456

浏览器访问如下:
在这里插入图片描述
由于证书时自己生成的,不被浏览器信任,此时添加信任或继续访问即可。

3.jetty 配置
Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。

pom.xml 中排除tomcat 并加如jetty 依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
	<exclusions>
		<exclusion>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
		</exclusion>
	</exclusions>
</dependency>

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>

三、properties 配置

spring boot 采用了自动化配置,但实际项目中某些功能需要根据需求用户自定义,自定义的配置文件就是resources 目录下的application.yml / application.properties

配置文件优先级:
1.项目根目录下的config 目录
2.项目根目录
3.classpath 下的config 目录
4.classpath 下

四、yml 配置

spring boot 配置文件 .properties / .yml 文件都会被加载到spring Environment 中。spring 提供了 @Value / @ConfigurationProperties 将配置文件中的数据注入到bean 中。

yaml 时json 的超集,是专门用来写配置文件的,yaml 文件使用缩进表示层级关系。

五、Profile

项目开发中经常需要在开发环境和生成环境切换,spring boot 约定不同环境的配置文件名称规则为 application-{profile}.properties / application-{profile}.yml,profile占位符表示当前的环境名称。

在application.properties / application.yml 中配置 spring.profiles.active={profile} 即表示使用application-{profile}.properties / application-{profile}.yml 配置文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值