Tag: 属性

以编程方式在Spring 3.1中加载属性

我试图以编程方式创建AnnotationConfigApplicationContext。 我得到一个配置类列表和一个属性文件列表,以便在Spring XML文件中使用它。 使用该文件,我可以使用XmlBeanDefinitionReader并加载所有@Configuration定义。 但是,我无法加载属性。 这是我正在做的加载属性.. PropertiesBeanDefinitionReader propReader = new PropertiesBeanDefinitionReader(ctx); for (String propFile : propertyFiles) { propReader.loadBeanDefinitions(new ClassPathResource(propFile)); } 代码只是运行完成没有任何问题,但一旦我调用ctx.refresh() – 它会抛出exception Caused by: java.lang.IllegalStateException: No bean class specified on bean definition at org.springframework.beans.factory.support.AbstractBeanDefinition.getBeanClass(AbstractBeanDefinition.java:381) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:54) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:990) 所有类都在类路径上可用,如果我只是不以编程方式加载上述属性应用程序就好了(因为我使用其他方式加载属性)。 不确定,我在这里做错了什么。 有任何想法吗? 谢谢。

scala类中属性的可见性

我通过以下方式在我的类的构造函数中定义了一个属性: class Step(val message:String = “”) 当我尝试从Java代码访问消息值时,会出现可见性错误。 为什么?

Java属性文件绑定到Java接口

使用GWT你有这样的东西: public interface LoginConstants extends Constants { @DefaultStringValue(“Wellcome to my super app”) @Key(“appDescription”) String appDescription(); @DefaultStringValue(“Ok”) @Key(“okButtonLabel”) String okButtonLabel(); } 然后你可以在你的类中使用GWT.create(LoginConstant.class),这样接口就会被动态实现支持,当我调用loginConstants.appDescription()时,使用@Key注释返回属性文件中包含的值引用属性文件中的键。 如果属性文件遗漏了该属性,则返回de @DefaultStringValue。 这用于国际化,但也可能用于配置。 但是对于GWT,这意味着要在客户端使用(即转换为JavaScript),对于i18n,而不是用于配置。 但是,我发现这个想法对于配置处理也非常方便。 我想知道是否有人知道在服务器端执行类似操作的框架,而不必将代码绑定到GWT。 即。 如果有任何库实现了专门为配置处理而设计的这种逻辑。 我不知道这样的事情。 参考GWT中的function: https : //developers.google.com/web-toolkit/doc/latest/DevGuideI18nConstants

存储已通过getClass()。getResourceAsStream读取的.properties文件中的更改

我正在编写一个java Web应用程序,它从.properties文件中读取属性。 由于我不知道.properties文件的绝对路径,因为它取决于应用程序将来运行的环境,我必须使用“getClass()。getResourceAsStream”加载它: Properties props = new Properties(); props.load(getClass().getResourceAsStream(“test.properties”)); message = props.getProperty(“testdata”); 这按预期工作。 现在我想在文件中更改testdata的值。 但是我无法打开要写入的Outputstream,因为我仍然不知道.properties文件的路径。 props.setProperty(“testdata”, “foooo”); props.store(new FileOutputStream(“?????”), null); 有没有办法获取文件的路径或我可以以某种方式使用已建立的属性对象? 欢迎任何想法允许我更改.properties文件。

仅通过@Value注入属性映射

如何使用@Values注释填充值映射, 而无需在applicationContext.xml或任何其他XML文件中定义任何内容 。 我使用的是spring boot,它没有任何 XML文件,也不需要任何XML文件,所以请不要告诉我在XML等中声明任何属性读取器bean。 此外,这是一个属性注入问题 – 请不要建议使用数据库来存储数据 – 这不是一个答案,无论如何我的情况不可能。 此外,我也不能使用YAML(由于部署/操作要求)。 我试过宣布这个注射: @Value(“${myprop}”) Map map; 还有这个 @Value(“${myprop.*}”) Map map; 使用这些条目application.properties : myprop.1=One myprop.2=Two myprop.3=Three 然后试了一下 myprop[1]=One myprop[2]=Two myprop[3]=Three 但没有好处 – 只是爆炸 无法自动assembly字段:…无法解决占位符’myprop’ 我找到了一个解决方案,注入了String[]指定为key1:value1,key2:value2,…然后我在代码中解析,但我宁愿不这样做因为a)它是更多的代码,并且b)列表将会很长,并且一行上的所有对都将难以阅读和维护。 有没有办法从几个属性自动构建地图? 我不关心属性名称是什么,字段类型或注释是什么; 我只是想为每个属性注入一个键/值对。

如何组织Java属性条目进行国际化?

在我们的应用程序中,我们有一个messages.properties文件,其中包含将显示给UI的所有字符串。 我们有一个带有几个屏幕的小应用程序,它已经变得笨重,整个字符串值重复。 现在我们将它组织成特定于页面的字符串,用空格和注释分隔出来,每个jsp的一个部分的属性名称都带有页面名称的前缀。 我们还有实体部分,例如,在我们显示用户电子邮件地址的任何地方,我们将引用属性user.email作为该输入或输出字段的标签。 我们有另一个部分用于错误和状态消息,最后一个部分包含全局消息,如“提交”和“取消” 必须有一个更好的方法,我想知道你是否知道它是什么。

评估Spring Expression Lang(SpEL)中的属性

我们的服务有一个根据属性文件安排的进程,读取属性refreshIntervalMillis 。 它的值直接在Quartz触发器中注入,具有以下配置: … 但是,安装此服务的管理员会考虑小时/天,因此为了使事情变得更容易,我们将其更改为: 将refreshIntervalMillis重命名为refreshIntervalMinutes 更改为上面的代码到以下内容: p:repeatInterval =“#{1000 * 60 * T(java.lang.Integer).valueOf(@configurationProperties [‘garbageLevelWatcher.refreshIntervalMinutes’])}” 注意:属性对象公开为名为“configurationProperties”的bean 是否有更简单的语法来实现相同的目标? 谢谢,

apache-commons-config PropertiesConfiguration:丢失最后一个属性后的注释

我正在使用PropertiesConfiguration来编辑属性文件。 这允许我保留评论。 除了最后一个键之后的注释,一切正常。 例如输入文件 # *** A comment GameCheck.no=No **# end coment** 输出如下。 它失去了最后一把钥匙之后的评论 # *** A comment GameCheck.no = myvar 代码如下。 package trials; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; import org.apache.commons.configuration.PropertiesConfigurationLayout; import java.io.FileWriter; import java.io.IOException; public class EditVersion { public static void main(String[] args) { try { PropertiesConfiguration config = new PropertiesConfiguration(“C:\\try\\in.properties”); config.setProperty(“application.version”, “myvar”); PropertiesConfigurationLayout layout […]

从JAR目录中读取属性文件

我正在创建一个可执行的JAR,它将在运行时从一个文件中读取一组属性。 目录结构将类似于: /some/dirs/executable.jar /some/dirs/executable.properties 有没有办法在executable.jar文件中设置属性加载器类来从jar所在的目录加载属性,而不是硬编码目录。 我不想将属性放在jar本身,因为属性文件需要是可配置的。

获取LDAP对象的内部属性

我试图获取LDAP用户内部属性,但无法找到如何获取它们 DirContext ctx = this.getDirContext(); List list = new ArrayList(); NamingEnumeration results = null; try { SearchControls controls = new SearchControls(); controls.setSearchScope(SearchControls.SUBTREE_SCOPE); results = ctx.search(“”, “(objectclass=person)”, controls); while (results.hasMore()) { SearchResult searchResult = results.next(); Attributes attributes = searchResult.getAttributes(); String fullName = this.getValue(attributes.get(“cn”)); //so on… } // so on 从LDAP,我也想获取每个员工/个人的内部属性。 默认情况下,它不返回内部属性[ex:createTimestamp]