精华内容
下载资源
问答
  • 通过@value("${key}")的方式获取配置文件。 该(加注解@Component被Spring容器管理)里面的属性为static静态属性。此时 对应的的setter,getter按照默认的是分别为: @Value("${ss.name}") private static ...

    通过@value("${key}")的方式获取配置文件的值。

    该类(加注解@Component被Spring容器管理)里面的属性为static静态属性。此时 对应的的setter,getter按照默认的是分别为:

    @Value("${ss.name}")
    private static String name;
    public static void setName(String name){
    	this.name = name;
    }  //此种方式不能赋值成功, 此时的解决办法是将setter方法的前面的static去掉。**
    public static String getName(){
    	return this.name;
    }
    

    yml文件内容:

     ss:
       name: ffffff
    
    展开全文
  • 在开发中写Utils需要使用很多静态方法,但是直接通过@Value的方法,会获取不到配置文件 @Value("${file.dir}") private String fileDir; 解决方法: 首先要将标注@Component @Component public final class ...

    在开发中写Utils需要使用很多静态方法,但是直接通过@Value的方法,会获取不到配置文件的值

    @Value("${file.dir}")
        private String fileDir;
    

    解决方法:
    首先要将类标注@Component

    @Component
    public final class ResponseUtils {
    		...
    }
    

    再引入配置文件的值

    @Value("${file.dir}")
        private String fileDir;
    

    创建一个静态值用于静态方法的使用

    private static String filedir;
    

    最后,使用 @PostConstruct将配置文件的值赋给本地变量

     @PostConstruct
        public void getApiToken() {
            filedir = this.fileDir;
        }
    

    静态方法调用filedir就可以获得配置文件中fileDir的值了

    注意!一定要标注@Component,否则无效

    展开全文
  • Java类获取配置文件中的静态常量通过注解方式获取常量@Value注解进行配置文件信息的获取@ConfigurationProperties注解获取配置文件 通过注解方式获取常量 当我们在编写代码过程中,部分常量信息可能需要多处公用...

    通过注解方式获取常量值

    当我们在编写代码过程中,部分常量信息可能需要多处公用,通常会把这些常量写进xml配置文件中,通过相关配置信息在代码中使用。如下dingding:的相关常量的值;
    在这里插入图片描述

    @Value注解进行配置文件信息的获取

    新建一个常量获取类DingDingConstant,声明各种常量,并写入set方法,在set方法上使用@Value注解获取配置文件中的值,并赋值给相应的对象,括号中通过 @Value("${dingding.agentId}") 可指定读取配置文件中的对象。

    package com.mallplus.common.constant;
    
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Component;
    
    /**
     * @author: SUN
     * @version: 1.0
     * @date: 2020/10/9 19:33
     * @description: 项目中的常量定义类
     */
    @Component
    public class DingDingConstant {
        /**
         * 企业应用标识(ISV调用必须设置)
         */
        public static Long AgentId;
    
        /**
         *
         */
        public static String AppKey;
    
        /**
         *
         */
        public static String AppSecret;
    
        /**
         * 企业corpid, 需要修改成开发者所在企业
         */
        public static String CorpId;
    
        /**
         * 加解密需要用到的token,ISV(服务提供商)推荐使用注册套件时填写的token,普通企业可以随机填写
         */
        public static String Token;
    
        /**
         * 数据加密密钥。用于回调数据的加密,长度固定为43个字符,从a-z, A-Z, 0-9共62个字符中选取,
         * 您可以随机生成,ISV(服务提供商)推荐使用注册套件时填写的EncodingAESKey
         */
        public static String AesKey;
    
        /**
         * 接收事件回调的url,必须是公网可以访问的url地址
         */
        public static String Url;  // 本地测试回调地址
    
        /**
         * 审批表单中详情拼接URL地址
         */
        public static String DetailUrl;
    
    
        @Value("${dingding.agentId}")
        public void setAgentId(Long agentId) {
            AgentId = agentId;
            System.out.println("- - - agentId-   " + agentId);
        }
    
        @Value("${dingding.appKey}")
        public void setAppKey(String appKey) {
            AppKey = appKey;
            System.out.println("- - - appKey-   " + appKey);
        }
    
        @Value("${dingding.appSecret}")
        public void setAppSecret(String appSecret) {
            AppSecret = appSecret;
            System.out.println("- - - appSecret-   " + appSecret);
        }
    
        @Value("${dingding.corpId}")
        public void setCorpId(String corpId) {
            CorpId = corpId;
            System.out.println("- - - corpId-   " + corpId);
        }
    
        @Value("${dingding.token}")
        public void setToken(String token) {
            Token = token;
            System.out.println("- - - token-   " + token);
        }
    
        @Value("${dingding.aesKey}")
        public void setAesKey(String aesKey) {
            AesKey = aesKey;
            System.out.println("- - - aesKey-   " + aesKey);
        }
    
        @Value("${dingding.url}")
        public void setUrl(String url) {
            Url = url;
            System.out.println("- - - url-   " + url);
        }
    
        @Value("${dingding.detailUrl}")
        public void setDetailUrl(String detailUrl) {
            DetailUrl = detailUrl;
            System.out.println("- - - detailUrl-   " + detailUrl);
        }
    
    }
    
    

    @ConfigurationProperties注解获取配置文件

    @ConfigurationProperties 相比**@Value** 注解进行配置文件信息的读取配置起来较为简单;只需在类名上添加注解,并指定对应的配置信息即可,并添加get() set() 方法;

    package com.mallplus.common.utils;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.UnknownHostException;
    import java.util.List;
    import java.util.Map;
    
    /**
     * @author: SUN
     * @version: 1.0
     * @date: 2020/10/28 9:44
     * @description:
     */
    @ConfigurationProperties(prefix = "dingding")
    @Component
    public class AliyunLinkUtils {
    
    // public 即可外部引用,通过类名直接引用,如:AliyunLinkUtils.agentId;
    // 若设置为 private 即只能在此类内部使用;
        public static String agentId;
        public static String appKey;
        public static String appSecret;
    
        public String getAgentId() {
            return agentId;
        }
    
        public void setAgentId(String agentId) {
            System.out.println("-- agentId- -1 - " + agentId);
            this.agentId = agentId;
        }
    
        public String getAppKey() {
            return appKey;
        }
    
        public void setAppKey(String appKey) {
            this.appKey = appKey;
        }
    
        public String getAppSecret() {
            return appSecret;
        }
    
        public void setAppSecret(String appSecret) {
            this.appSecret = appSecret;
        }
    }
    
    
    展开全文
  • springboot 项目 用到静态的工具来 引用配置(yml获取这 pro)文件中的 直接@Value("${xxx.xxx.xx}") 不可以 直接就不能用 结果: Environment environment = ApplicationContextUtils.get(Environment.class); ...

    事由:
    springboot 项目 用到静态的工具类来 引用配置(yml获取这 pro)文件中的值
    直接@Value("${xxx.xxx.xx}") 不可以 直接就不能用

    结果:

    Environment environment = ApplicationContextUtils.get(Environment.class);
    String value= environment.getProperty("配置文件中的路径 比如:(spring.boot.path)");
    

    此时的value 就是配置文件中你想要的值

    Environment 导包:

    import org.springframework.core.env.Environment;
    

    再配上 ApplicationContextUtils工具类

    import org.springframework.beans.BeansException;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;
    import org.springframework.context.annotation.Configuration;
    
    import java.util.Objects;
    
    @Configuration
    public class ApplicationContextUtils implements ApplicationContextAware {
    
        //定义静态的ApplicationContext对象
        private static ApplicationContext applicationContext;
    
        //重写 方法 并赋值
        @Override
        public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
            ApplicationContextUtils.applicationContext = applicationContext;
        }
    
        //调用上下文的getBean方法获取容器中的对象
        public static <T> T get(Class<T> clazz){
            return applicationContext.getBean(clazz);
        }
    
        public static Object get(String name) {
            return applicationContext.getBean(name);
        }
    
    }
    

    完美

    展开全文
  • 文章目录SpringBoot 从配置文件获取属性初始化静态变量1、Configurations配置2、my.properties配置文件 SpringBoot 从配置文件获取属性初始化静态变量 1、Configurations配置 import org.spring...
  • properties文件获取工具静态加载properties配置文件,有根据key获取值的方法
  • springboot引用静态资源static中变量常用方法,经常用到的是非静态变量,在需求方法中引入比较容易配置,当遇到静态变量时常出现错误,本文档为手动操作样例与结构展示
  • 关于Java读取 application.yml 配置文件里的的问题。 目前我所了解的主要是三种方式: ①@Value("${xxxx}") ② ConfigurationProperties 配置 ③ 通过 Enviroment 获取 这里只介绍第三种静态工具JdbcUtil ...
  • *上加@Component注解 */ @Component public class FileUpload { //声明静态变量 private static String uploadPath; //使用set方法注入 @Value("${uploadPath}") public void setUploadPath(String ...
  • 关于Java读取 application.yml 配置文件里的的问题。目前我所了解的主要是三种方式:① @Value("${xxxx}")② ConfigurationProperties 配置③ 通过 Enviroment 获取今天我们这里只介绍第三种该同学的需求是在 ...
  • static静态方法使用yml配置文件 但是我们经常会写util等,里面的方法都是静态static的,这种情况下我们就没法像普通方法一样获取到yml的配置了,此时我们应该怎么获取呢? 1.在yml里面配置想要参数 2.新建一...
  • spring boot yml配置文件 server: port: 8888 tomcat: uri-encoding: UTF-8 disk: shiro: excludeUrls: /account/account/createAdmin,/account/role/saveRole,/account/premission/savePremission oss: ...
  • 问题:从配置文件获取不到的原因:1.静态变量;2.没通过Spring加载该实例对象。 1. conf.properties配置文件内容: 2. Spring加载配置文件内容,spring-config.xml: 3. Service层需要获取的...
  • 想要获取配置文件,直接使用@Value 一直获取为Null //声明静态变量 private static String a; @Value("${a}") public void setA(String a) { this.a = a; } 配置文件: a: 123 这样在项目运行是...
  • 该工具可以根据正则规则,去遍历查找配置文件,并静态初始化,可以在任意地方用PropUtil.get(key)方法方便的获取配置文件里的
  • 例在application.yml中添加: upload: # 是否压缩图片 is_compress: true # 图片默认缩放比率 ...如何获取upload中的呢? 一:在普通的的java获取 @Value("${upload.test}") private String ...
  • 这里以解析hibernate.cfg.xml数据库配置信息为例,运用dom4j的解析方式来解析xml文件。 1.在javaWeb工程里新建一个java,命名为GetXmlValue.java,为xml文件解析工具。 public class GetXmlValue { //xml...
  • 1. 写一个java , 在网站启动的时候,加载 这个... 这样你可以再任何一个 jsp 页面直接引用这个java就可以得到配置文件里面的,这样设计可以达到一个代码复用的效果。不需要在其他页面重新进行加载文件。
  • * System.out.println("请输入配置文件名称:"); Scanner a = new Scanner(System.in); * String propertieName = a.next(); */ // a.close(); ProcessRow a = new ProcessRow(); String propertieName = a....
  • 学习目的 加载器 反射 动态代理 JDK1.5以及1.7的新特性 反射(的加载概述和加载时机)(了解) 的加载: 当程序要使用某个时,如果该...准备 : 负责为静态成员分配内存,并设置默认初始化 解析: 把中的...
  • JAVASE基础知识模块四十三( 反射来获取成员变量 反射来获取成员方法 反射越过泛型机制 通过配置文件来进行方法的调用 提高容错率与代码复用性 用反射给某个对象成员变量设置 反射与代理 静态代理 动态代理) ...
  • 动态配置:常用zookeeper存储,未预定义在应用中,具体在运动时动态获取静态配置:预定义于应用中的*.properties文件,在Spring容器启动时解析k-v对,并注入到相应的${...}占位符中。二、核心模型三、主要流程...
  • C# 配置文件概述

    2015-05-12 09:58:44
    使用ConfigurationSettings 静态属性AppSettings 就可以直接方法配置文件中的配置 信息 这个属性的类型是NameValueCollection 3 自定义配置文件 3 1 自定义配置节 一个用户自定义的配置节 在配置文件中分为两...
  • 一、问题描述今天启动 spring boot 项目的时候,有时候会报加载不到配置文件的属性。配置文件的属性是用 @Value 获取的,属性有时候会是 null 。... 来获取配置文件中的属性,这是没问题的,因为 @Configur...
  • 在开发项目的时候,有很多配置项,这个时候可以生成一个全局的conf类,需要读取配置文件的内容的时候,直接调用该类获取各种变量。 1.首先声明一个静态类的静态方法 static Config &GetInstance(); 2.在静态方法...
  • 最近的项目有这样一个需求,就是中有几个静态变量,初始化的时候,他们的需要读取一个配置文件获取一个code,然后用这个code拼接而成。 这个code不是静态的变量,怎么实现的呢,代码如下: @Value("${...
  • 旨在实现登录检查,从session中获取自定义的 loginUser 属性的,若为空,表示还未登录,则不允许越过登录页面直接进入主页,应该跳转到登录页面。 注册拦截器 SpringBoot1.x中静态资源映射是被做好了的;但是在...
  •               spring配置文件中的id就是测试中的getBean(id的);所对应的id;                   
  • 在项目中,有些参数需要...而为了使用起来方便,可以通过将属性注入到静态字段中(static),这样就可以用className.fieldName的方式来获取了。 servlet-context.xml <!-- spring的属性加载器,加载properties

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 240
精华内容 96
关键字:

获取配置文件值静态类