美文网首页
有趣的springboot配置

有趣的springboot配置

作者: 前进的码农 | 来源:发表于2020-10-26 22:01 被阅读0次

服务器相关配置

端口

通过server.port=端口号来设置端口
当server.port=0的时候每次启动的时候会随机一个没用被占用的端口

ssl证书配置

server.ssl.key-store: classpath:****
server.ssl.key-store-password: ****
server.ssl.keyStoreType: ****
server.ssl.key-password:****

数据库配置

数据源配置

地址
spring.datasource.url=
密码
spring.datasource.password=
jdbc驱动
spring.datasource.driver-class-name=

mysql配置示范

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3307/ethan?useUnicode=true&characterEncoding=utf-8&useSSL=false&&serverTimezone=GMT%2b8
spring.datasource.username=root
spring.datasource.password=123456

数据库初始脚本配置初始化建表和初始化数据

spring.datasource.schema=classpath:sql/user.sql
spring.datasource.data=classpath:sql/userdata.sql

一个是建表一个数初始化数据,注册一定要新建一个sql文件,不然测试不通过


image.png

放sql文件夹外面,运行测试不通过
还有spring.datasource.separator=这个参数为默认值即可设置了后建表语句会报错
如果你做了设置那么要注意你的sql语句结尾要根据这个设置来比如我设置了
spring.datasource.separator=$$默认是';'
那么:

DROP TABLE IF EXISTS `sys_test`$$
CREATE TABLE `sys_test`
(
    `id`          bigint(20) NOT NULL COMMENT '主键',
    `name`        varchar(255) DEFAULT NULL COMMENT '账号',
    PRIMARY KEY (`id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8 COMMENT ='系统测试表'$$

日志配置

默认情况下springboot通过logback配置日志,默认日志等级为INFO
我们可以在resources目录下新建logback.xml来进行自定义配置
这里只讲简单的配置,复杂的配置后面单独拉章节讲

日志输出级别配置

logging.level.root=debug
logging.level.com.ethan.config.controller=debug

一个是指定包一个是所有
其他配置

#打印级别配置
logging.level.root=info
logging.level.com.ethan.config.controller=info
#文件输出配置
#logging.file.path=./log
#logging.file.max-size=1MB
#格式配置
##控制台输出格式
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n
##文件输出格式
logging.pattern.file=%d{HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n
#logging.pattern.rolling-file-name=.%d{yyyy-MM-dd}.%i.gz

定义自己的配置

类定义

@Configuration
@Data
@ConfigurationProperties(prefix = "com.ethan")
public class WxConfig {
    private String key;
    private String wxId;
}

application.properties定义属性值

com.ethan.key = 123
com.ethan.wxId = wxid123

测试

    @Autowired
    WxConfig wxConfig;
    @Test
    void test(){
        log.info(wxConfig.getKey());
        log.info(wxConfig.getWxId());
    }

使用profile进行配置

格式application-(profile名称).properties如application-dev.properties

profile的激活

  • 在application.propertiesspring.profiles.active=dev
  • 在生产环境中可以通过环境变量来激活export STRPING_PROFILES_ACTIVE=prod
  • 启动的时候激活 java -jar test.jar --spring.profiles.active=prod
    另外多个文件的激活的话可以用,分隔开如:
    spring.profiles.active=dev,devwx


    image.png

使用profile来条件化的创建bean如下:

@Configuration
@Data
@ConfigurationProperties(prefix = "com.ethan")
@Profile("dev")
public class WxConfig {
    private String key;
    private String wxId;
}

如果当前设置的active为prod那么调用WxConfig会报错

相关文章

网友评论

      本文标题:有趣的springboot配置

      本文链接:https://www.haomeiwen.com/subject/vrjbmktx.html