第二章、application.properties文件的配置

前面讲到了如何搭建一个简单的springboot应用,是不是特别简单。springboot内置了tomcat,这就大大减少了我们自己配置tomcat所产生的各种各样的配置手续包括所出现的问题。通过main方法,所有启动程序都在SpringApplication.run()这个方法里,有兴趣的童鞋可以看看其内部是如何配置数据源、启动tomcat以及注入类对象的。


现在,我们从它的配置文件application.properties开始。
        springboot剔除了复杂的spring配置XML文件,所有的配置都写在此文件中。当然实际配置中还可以配置application-dev.properties和application-prod.properties测试和生成环境的配置,将application.properties作为基础公共的配置。


一、项目配置文件
          1、springboot采用properties文件作为总配置文件,默认application.properties(application-dev.properties和application-prod.properties)
            作为项目的启动配置,也就是说项目启动时会默认读取此配置文件的内容并加载某些配置</p>    
             2、springboot配置文件默认放在src/main/resource文件下,如果没有此文件springboot会采取默认配置;
            推荐使用maven,springboot也是基于maven搭建的项目,其依赖包也十分全面;因此先建立好一个application.properties
 二、默认配置     
       springboot中采取了很多默认的配置,在配置文件中需要使用默认配置名称,springboot加载时会自动读取;

一些常见的通用配置:              

spring.profiles.active=prod;//激活当前环境配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource;//数据源,也就是产生数据源的jar包,这里使用druid数据源
spring.datasource.url=;//数据源,也就是MySQL或orcale连接路径
spring.datasource.username=;//数据库用户名
spring.datasource.password=;//数据库密码
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
server.port=11080;//访问端口号
server.session.timeout=1800;//session失效时间
server.error.path=/error;//错误页controller

三、自定义配置
                1、当然也可以定义自定义属性,对于自定义属性配置,需要通过注解来加载</p>

com.name="111"
com.name1="222"    
   
@Value(value="${com.name}")
private  String name;//既可以将name值赋予变量    


   
               2、除了在配置文件中配置,还可以在启动jar包时候改动如:java -jar xx.jar --server.port=9090
                将端口号修改为9090;符号“--”后面的即为配置文件中的配置,在多环境中,可以通过此参数随时切换配置
                <p>3、有时候我们需要引入外部的静态资源和配置文件,方便动静分离,可以如此配置:      
 

web.upload-path=//home//web//oriflame_static//
spring.mvc.static-path-pattern=/**
spring.resources.static-locations=classpath:/METAINF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${web.upload-path}


              
              配置把默认的三个静态资源路径也记上了,最后一个是引用服务器上绝对路径
 

@SpringBootApplication
@PropertySource(value="file:D:/test.properties",encoding="utf-8")
public class Applcation {
    public static void main(final String[] args) {
        SpringApplication.run(Applcation.class, args);
    }
}  

     
                即可以引导到d盘中的配置文件 

四、springboot默认读取配置文件

        springboot采用了默认读取配置文件的规则:

           1、config/application.properties(项目根目录中config目录下)

           2、config/application.yml

           3、application.properties(项目根目录下)

           4、application.yml

           5、resources/config/application.properties(项目resources目录中config目录下)

           6、resources/config/application.yml

           7、resources/application.properties(项目的resources目录下),这也是我们一般存放配置文件的位置

           8、resources/application.yml

               五、配置的优先级:配置文件的相互覆盖

               1、如果项目中有多个配置文件会存在优先级,优先级最高的属性文件会覆盖优先级较低的:

                (1)、外置,在相对于应用程序运行目录的/congfig子目录里。

                (2)、外置,在应用程序运行的目录里

                (3)、内置,在config包内

                (4)、内置,在Classpath根目录

                (5)、如果同一个目录下,有application.yml也有application.properties,

                    默认先读取application.properties。

                (6)、如果同一个配置属性,在多个配置文件都配置了,

                    默认使用第1个读取到的,后面读取的不覆盖前面读取到的。             

             (7)、创建SpringBoot项目时, 一般的配置文件放置在项目的resources目录下不要在多个配置文件配置相同属性,根据优先级,最高的文件会覆盖较低的文件中的相同属性

                六、更多配置

              可以自行搜索更多配置,包括模板、mybatis、redis等等, 通过设置配置,springboot加载的时候更加灵活性的容纳这些功能; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值