最直接的办法是,使用AppContext.getProperty("cuba.trustedClientPassword");

  可以获取到系统中的web模块下的wep-app.properties和 core模块下的app.properties文件中的配置信息(core是业务,web是UI),但是不推荐这么使用。

  推荐使用Config代替AppContext

  在web模块中使用WebAuthConfig
  @Inject
  private WebAuthConfig webAuthConfig;

  获取:

  webAuthConfig.getTrustedClientPassword();

  在core模块中使用ServerConfig
  @Inject
  private ServerConfig serverConfig;

  获取:

  serverConfig.getTrustedClientPassword();

  这两个类有同样的这个方法

@Source(type = SourceType.APP)
public interface WebAuthConfig extends Config {
@Property("cuba.trustedClientPassword")
@DefaultString("")
String getTrustedClientPassword();
} @Source(type = SourceType.APP)
public interface ServerConfig extends Config {
@Property("cuba.trustedClientPassword")
@DefaultString("")
String getTrustedClientPassword();
}

  而cuba.trustedClientPassword = **********,这个配置,是配置在web-app.properties里的。ServerConfig也是可以获取到的。

  注意:这种使用方法只能用在Bean中,而不能在普通的jaca类里,因为要使用到注解,而只有Bean才能被容器管理,才可以使用注解。

新建属性

  上面的两个属性,都是cuba系统自带的属性,那两个类也是写在jar文件中的。如果是自己新增的需要,需要自定义一个Config类,继承Config类就可以。

  如下:

//定义属性类类
@Source(type= SourceType.DATABASE)
public interface CAConfig extends Config {
@Property("ucenter.CA.pdf.sign.enable")
@DefaultBoolean(false)
Boolean getCAPDFSignEnable();
} //调用时
@Inject
private CAConfig caConfig; //获取
caConfig.getCAPDFSignEnable()

在运行时修改属性

  刚开始把属性获取到以后,直接放到了全局静态变量里了
    public static final String CUBA_TRUSTED_CLIENT_PASSWORD = AppContext.getProperty("cuba.trustedClientPassword");

  但是这样的坏处是:如果在项目运行时修改了属性,就必须重启系统才能生效,这明显是不好的。所以不应该使用上面的方法,而之前的办法在项目运行是进行修改,也会实时得获取到。

  那么怎么修改呢?

  使用【管理员】登陆,在【管理】-【应用程序属性】下可以搜索到:

  编辑:

Cuba获取属性文件中的配置的更多相关文章

  1. @value 注解获取属性文件中的值

    一.属性文件 db.properties name=jack 二.配置文件 applicationContext.xml <!-- 加载配置文件,该节点只能存在一个,所以用 * ,加载所有属性文 ...

  2. JDBC程序优化--提取配置信息放到属性文件中

    JDBC程序优化--提取配置信息放到属性文件中 此处仅仅优化JDBC连接部分,代码如下: public class ConnectionFactory { private static String ...

  3. Spring 获取propertise文件中的值

    Spring 获取propertise文件中的值 Spring 获取propertise的方式,除了之前的博文提到的使用@value的注解注入之外,还可以通过编码的方式获取,这里主要说的是要使用Emb ...

  4. XML序列化 判断是否是手机 字符操作普通帮助类 验证数据帮助类 IO帮助类 c# Lambda操作类封装 C# -- 使用反射(Reflect)获取dll文件中的类型并调用方法 C# -- 文件的压缩与解压(GZipStream)

    XML序列化   #region 序列化 /// <summary> /// XML序列化 /// </summary> /// <param name="ob ...

  5. 【MyBatis学习05】SqlMapConfig.xml文件中的配置总结

    经过上两篇博文的总结,对mybatis中的dao开发方法和流程基本掌握了,这一节主要来总结一下mybatis中的全局配置文件SqlMapConfig.xml在开发中的一些常用配置,首先看一下该全局配置 ...

  6. C#可以获取Excel文件中Sheet的名字

    C#可以获取Excel文件中Sheet的名字吗 C#可以获取Excel文件中Sheet的名字吗 我试过WPS的表格可以 可以 要代码么 百度都有 [深圳]Milen(99696619)  14:13: ...

  7. C# -- 使用反射(Reflect)获取dll文件中的类型并调用方法

    使用反射(Reflect)获取dll文件中的类型并调用方法 需引用:System.Reflection; 1. 使用反射(Reflect)获取dll文件中的类型并调用方法(入门案例) static v ...

  8. Java实现获取属性文件的参数值

    Java实现获取属性文件的参数值 1,属性文件内容(analysis.properties),路径必须在:src根目录下: #client data path analysis.client.data ...

  9. 通过反射获取class文件中的构造方法,运行构造方法

    /* * 通过反射获取class文件中的构造方法,运行构造方法 * 运行构造方法,创建对象 * 1.获取class文件对象 * 2.从class文件对象中,获取需要的成员 * * Constructo ...

随机推荐

  1. 【转】js 获取浏览器高度和宽度值(多浏览器

    原文地址:http://www.jb51.net/article/19844.htm js获取浏览器高度和宽度值,尽量的考虑了多浏览器. IE中: document.body.clientWidth ...

  2. LiveCharts文档-3开始-7标签

    原文:LiveCharts文档-3开始-7标签 LiveCharts文档-3开始-7标签 Label就是Chart中表示数值的字符串,通常被放置在轴的位置和提示当中. 下图中的这些字符串显示的都是标签 ...

  3. odoo订餐系统之订单相关知识点理解

    1.对重载函数name_get的理解 第一,此函数位于Model基类中,返回值是一个list列表,列表中的每个值是如(key,value)形式的键值对,此处为(id,name). 第二,在自己的Mod ...

  4. Intel x86_64 Architecture Background 2

    这里是在学习Intel x86_64体系架构时学习到的一些概念,记录下来以供日后参考.如果有错的地方,欢迎指正! CPU上下文切换(context switch): 这个概念第一次听到对我来说是完全陌 ...

  5. tomcat多实例方案启动脚本

    批量启动 #!/bin/sh BASE_PATH="/usr/local/tomcat8/tomcat-ins/"bash $BASE_PATH/web1/tomcat.sh st ...

  6. BugkuCTF 域名解析

    前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理 ...

  7. SKINNY加密算法详解(无代码,仅加密)

    原作者论文请参考<The SKINNY Family of Block Ciphers and Its Low-Latency Variant MANTIS> 地址为:https://li ...

  8. Openstack架构概念图-简单汇总

    OpenStack是一个云平台管理的项目,它不是一个软件.这个项目由几个主要的组件组合起来完成一些具体的工作.想要了解openstack,第一步我们可以观察他的概念图: 针对上图的翻译+解释: 上图主 ...

  9. 牛客小白月赛6-E对弈-简单搜索

    https://www.nowcoder.com/acm/contest/136/E 我搜索很差啊,看了学长代码,自己在下面手敲了一遍,感觉学长的极其精巧,把我繁琐的搜索步骤给简化了不少 其实本题想法 ...

  10. fft的实现

    private static Complex[] FFT1(Complex[] f) { int N=f.length; int power= (int) (Math.log10(N)/Math.lo ...