• 【springboot】springboot读取application配置文件


    项目需求

    项目需要读取application.yml中自定义的配置文件。

    跨工程也是可以读取到application.yml文件的配置内容的

    读取方式

    1. @Value
    2. Environment

    方式一:使用@Value方式(常用)

    核心配置文件application.yml内容如下:

    # 自定义配置项
    uuap:
      server:
        host: 10.12.16.84
        systoken: 39ca7b2c849b85d1
        sysname: sitonya
    

    代码示意:

    @Service
    public class UuapLoginService {
    
        public static Logger log = LoggerFactory.getLogger(UuapLoginService.class);
    
        @Value("${uuap.server.host}")
        public String uuapHostname;
    
        @Value("${uuap.server.systoken}")
        public String sysToken;
    
        @Value("${uuap.server.sysname}")
        public String sysName;
    
    public AjaxResult getLogin(UuapUser uuapUser) throws UuapException {
            String systemName = uuapUser.getSystemName();
            AjaxResult ajaxResult = new AjaxResult();
    
            String url = Constants.HTTP + uuapHostname + Constants.HTTP_SUFFIX;
            String param = systemName + Constants.AMPERSAND +
                    Constants.SYSTOKEN + sysToken + Constants.AMPERSAND;
            result = JSONObject.parseObject(SendPostUtil.sendPost(url, param));
            log.info("登录成功");
            return ajaxResult;
        }
    

    注意:在@Value的${}中包含的是核心配置文件中的键名。在Controller类上加@RestController表示将此类中的所有视图都以JSON方式显示,类似于在视图方法上加@ResponseBody。

    方式二:使用Environment方式

    参考代码:

    package Solin.controller;
     
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.core.env.Environment;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
     
    @RestController
    public class WebController {
    	@Autowired
    	private Environment env;
    	
    	@RequestMapping("/index2") 
    	public String index2(){
    		return "方式二:"+env.getProperty("test.msg");
    	}
    }
    

    注意:这种方式是依赖注入Evnironment来完成,在创建的成员变量private Environment env上加上@Autowired注解即可完成依赖注入,然后使用env.getProperty(“键名”)即可读取出对应的值。

  • 相关阅读:
    freemarker list集合去重,实现hashset
    freemarker特殊字符输出
    idea java 注释模板配置
    IntelliJ IDEA使用eclipse compiler(ecj)解决lombok编译问题
    odoo views
    python 内置函数 3.6版本
    iostat
    性能及优化之 vmstat
    python 基础
    git
  • 原文地址:https://www.cnblogs.com/erlou96/p/16878344.html
Copyright © 2020-2023  润新知