美文网首页springBoot
SpringBoot入门实践(二)-配置文件及应用程序常用属性

SpringBoot入门实践(二)-配置文件及应用程序常用属性

作者: _兰陵笑笑生 | 来源:发表于2019-12-23 22:34 被阅读0次

     我的博客:兰陵笑笑生,欢迎浏览博客!

     上一章 SpringBoot入门实践(一)-快速入门当中,我们快速的新建了一个SpringBoot工程,实现了浏览器请求一个路径,要求运行的服务返回指定的结果。本章我将整理一篇关于配置文件的介绍。

      我们开发的项目少不了各种各样的配置,在以往我使用过静态的类来放一些项目中使用到的一些配置值。也使用过properties 文件存储一些值。当然这些都是可以的。SpringBoot建议我们采用yml这样的文件来存储。说到YAML网上有很多的介绍,我们只要记住YAML文件具有很强的表达能力和扩展性就够了。对,就是容易读懂。还记得我们生成的项目结构么? 在项目resource目录下:会有一个 application.properties 文件。当然我们可以修改成application.yml文件。

    基本语法:

     springBoot的端口配置,springBoot项目的默认端口是8080,即如果我们不在配置文件中配置,那么端口就是8080.我们将端口修改成8081

    server:
     port: 8081
    

     基本语法:K-V 键-值对方式,port是键,8081是值。以空格的缩进来表示层级关系。

    即port是server下的port。属性和值存在大小写敏感的。

    字面量

     值默认是不用加”” 号的,加了双引号不转义字符串的特殊字符。单引号,会转义字符串的特殊字符。

    对象、map、数组在YAML文件中表示方法

     在开发的时候,我们经常为一些对象配置一些值。比如以User类为例:

    /**
     * @Component 表示 springBoot会启动加载这个类,必须是一个组件才能获取配置文件的值。
     * @ConfigurationProperties 绑定YMAL的配置到该类上。
     *  prefix 表示在配置文件中去:user开头的
     */
    
    @Component
    @ConfigurationProperties(prefix = "user")
    public class User {
    
      private String userName;
    
      private int age;
    
      private Map<String,Object> maps;
    
      private List<Object> lists;
    
     
    .....
    
    
    }
    

     application.yml配置

    server:
     port: 8081
     
    user:
     userName: 王宝强
     age: 48
     maps: { k1:v1,k2:v2 }
     lists:
      - 马蓉
      - hello 树先生
    
    

    测试一下

    @Controller
    public class HelloController {
    
      @Autowired
      User user;
      
      @ResponseBody
      @RequestMapping("/user")
      public User user(){
       return user;
      }
    
    }
     
    
    file

    @value的注解取值

    除了给JAVA bean注入属性外,我们还可以通过@value获取数据。

    
    @Controller
    public class YAMLTest {
    
      @Value("${user.userName}")
    
      private String userName;
    
      @ResponseBody
      @RequestMapping("/test1")
      public String test1(){
       return "姓名:"+userName;
    
      }
    }
    

     测试结果

    file

    在实际的项目开发中,以上两种方式都经常用到。

    常用的springBoot配置属性

    spring:
     profiles:
      active: dev
    
    

     用来切换配置文件的:

     我们可以在resource目录下分别在添加applicaition-dev.yml和application-test.yml

    在开发中在不同的环境下我们的配置属性值是不同的,比如数据库的配置,如果手动切换实在是太麻烦了,为此springBoot提供了这样一个特别实用的功能,通过spring.profiles.active这样的属性来切换环境,注意名称必须是application-{名称}.yml 或

    application-{名称}.properties 文件

    spring:
     application:
      name: helloApp
    

     用来描述应用程序的名称的。

     在整个springBoot系列中,有很多配置,这里只是简单的列举了2个,在实际的开发中,包括数据库配置、日志配置、缓存配置,自定义配置等非常之多,配置的贡献主要来自于不同的jar中,以具体的jar项目为准。

     我们可以参考springBoot的官方网站:官方网址,这里有很多的配置信息。这里面有很多介绍。

    本文由博客一文多发平台 OpenWrite 发布!

    相关文章

      网友评论

        本文标题:SpringBoot入门实践(二)-配置文件及应用程序常用属性

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