这篇文章主要介绍“Springboot外置怎么配置”,在日常操作中,相信很多人在Springboot外置怎么配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Springboot外置怎么配置”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
成都创新互联专注于企业成都全网营销、网站重做改版、民权网站定制设计、自适应品牌网站建设、HTML5建站、成都做商城网站、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为民权等各大城市提供网站开发制作服务。
Springboot 外置配置
spring Boot 自动配置的bean提供了300多个用于微调的属性.当调整设置时,只需要在环境变量,Java系统属性,JNDI,命令行参数,属性文件进行配置 就好了.
举例:
假设我们想要禁止启动springboot应用时的 banner .有以下几种方法:
1.在属性文件中指定 application.properties
spring.main.show-banner=false
2.在 应用程序的命令行参数中指定
$ java -jar myapp.jar --spring.main.show-banner=false
3.还可以将属性设置为环境变量
如果你用的是bash或者zsh,可以使用 export 命令
$ export spring.main.show-banner=false
配置嵌入式服务器
从命令行运行springboot应用程序时,应用程序会启动一个嵌入式的服务器,监听8080端口.如果想要修改默认端口,
可以使用命令行参数
$ java -jar myapp.jar --server.port=80
配置日志
默认情况下,springboot会使用 Logback来记录日志,并用INFO级别输出到控制台.
使用其他日志替换掉Logback
一般来说,你不需要切换日志实现,Logback能很好满足你的需要.但是如果你决定要使用Log4j 或者Log4j2,
你只需要修改依赖:引入对应的日志实现的起步依赖,同时排除掉Logback 即可.
以maven为例:
在maven里,可以用 来排除传递依赖
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-log
然后加入Log4j的起步依赖即可
org.springframework.boot spring-boot-starter-log4j
设置日志级别和日志输出文件位置:
在applecation.properties 中以logging开头.
在 idea中会有很好的提示
配置数据源
在配置文件中
######################## #数据库配置 ########################## spring.datasource.url=jdbc:MySQL://localhost:3306/test spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.jpa.properties.hibernate.hbm2ddl.auto=update # 主要是指定生成表名的存储引擎为InneoDB spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect # 是否打印出自动生产的SQL,方便调试的时候查看 spring.jpa.show-sql= true
在自动配置 dataSource Bean的时候,Spring boot会使用这里的连接数据.
DataSource是一个连接池,如果Classpath下有Tomcat的连接池 DataSource,那么就会使用这个连接池,否则Spring Boot会在Classpath里查找一下连接池:
HikariCp
Commons DBCP
Commons DBCP2
这里列出的是自动配置支持的连接池.你还可以配置DataSource的Bean,使用你喜欢的各种连接池.
如果我们想要使用 druid 连接池,如何做呢,其实关于 druid,已经有一个起步依赖:
com.alibaba druid-spring-boot-starter 1.1.0
只需要添加这个依赖,Springboot就会自动检测Classpath下是否有druid存在,如果有,就是用它.
在一个类里收集属性
现在我们在 applecation.properties 中有一个属性值,以weixin开头
##################### #在一个类里收集属性 ###################### weixin.appid = 12346
我们要在Controller里获取这个属性值,现在我们考虑用一个属性类来获取所有与weixin相关的配置信息,
新建一个类 WeixinProperties.java
/** * 收集配置文件的weixin 前缀属性 * * @author itguang * @create @Component //注入带 weixin 前缀的属性 @ConfigurationProperties(prefix = "weixin") public class WeixinProperties private String appid; //提供getter 和 setter方法 public String getAppid() { return appid; } public void setAppid(String appid) { this.appid = appid; } }
因为使用了@Component注解,所以这个属性类是一个Bean,这样我们就可以在Controller里把它注入进来:
@RestController public class WeixinController @Autowired private WeixinProperties weixinProperties; @RequestMapping(value = "test") public String test(){ return
使用 Profile进行配置
当应用程序需要部署到不同的运行环境中去,一些配置细节通常会有所不同.
比如数据库连接的细节在开发环境和测试环境就会不一样,在生产环境下又会不一样.
Spring Framework 从Spring3.1开始支持基于Profile的配置.
Profile是一种条件化配置,基于运行时激活的Profile,会使用或者激活不同的Bean或者配置类.
为了演示Profile的属性,假设我们希望针对生产环境和开发环境有不同的配置.该怎莫做呢?这取决于你是用的是属性文件配置还是YAML配置.
这里我们以属性配置文件为例
使用特定基于Profile的属性文件
如果你正在使用 application.properties ,可以创建两个额外的属性文件,遵循 application-{profile}.properties这种命名格式.
在日志这个例子里,开发环境的配置放在 application-devlopment.properties
logging.level.root=debug
生产环境的配置放在 application-production.properties
logging.level.root= warn
如何激活呢,在application.properties设置 spring.profiles.active
属性就能激活特定的Profile.
###################### #日志配置 ##################### # 设置激活特定的Profile
或者在命令行启动程序时,指定激活的Profile
$ java -jar myapp.jar --spring.profiles.active=devlopment
另外我们还可以在java配置类里面指定特定的Profile
/** * 指定特定Profile的配置类 * * @author itguang * @create @Configuration @Profile("devlopment") public class ProfileConfigTest //...
意思是只有激活 devlopment 的Profile时,才会应用此配置类,如果 devlopment 对应的Profile
没有被激活的话就会忽略此配置.
需要注意的是,application.properties 属性文件中的配置对所有的Profile都生效.
覆盖自动配置其实很简单,就是显示的编写那些没有SpringBoot 时你需要的Spring配置.
Spring Boot的自动配置被设置为优先使用应用程序提供的配置,然后才轮到自己的自动配置.
到此,关于“Springboot外置怎么配置”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
当前标题:Springboot外置怎么配置
网站链接:http://scyingshan.cn/article/jjohsi.html