草庐IT

extended-properties

全部标签

java - 如何在用户定义的 .properties 文件中引用系统属性?

我想为我的生产.properties文件定义一个工作目录的属性(比如work.dir=/home/username/working-directory),而不用硬编码/home/用户名.我想在硬编码的/home/username上引用系统属性user.home,使work.dir更通用。如何引用系统属性并将其连接到用户定义的.properties中的其他用户定义的字符串?注意:我不想在我的java代码中访问user.home属性,而是从我定义的.properties中访问。我希望能够将work.dir的值替换为我的生产和开发(例如JUnit测试)的不同值。

java - 在注释中支持 "Extendable enums"的最佳方式?

在我的图书馆里有一个“用户级别”的概念。我提供了几个默认级别,但出于各种原因,我想为用户提供使用他们自己的级别的选项。目前这是实现为publicinterfaceAdminLevel{publicvoidname();}publicenumStandardAdminLevelsimplementsAdminLevel{ADMIN,ANONYMOUS}问题是用户通常会在注释中传递他们所需的用户级别。我尝试过但失败的事情:使用AdminLevel作为类型-因“注释成员类型无效”而失败使用String作为类型,但使用StandardAdminLevels.ADMIN.name()设置值-失败

作为强类型类的 Java .properties 文件

有没有办法将属性文件作为强类型类获取?我想有代码生成器,但用注释来做会更酷。我的意思是;foo.propertiesfilekeyFoo=valuefookeyBar=valuebar也许与@properties(file="foo.properties")classfoo{}成为classfoo{StringgetKeyFoo(){}StringgetKeyBar(){}}如果不是,我是否应该为此启动一个开源项目?问题补充;假设我们有一个foo.properties文件,假设有超过10个条目;并认为它被用作一个简单的配置文件。我认为,此配置条目应作为配置类提供,并向设计的其他部分提供

java - 泛型 - (elements instanceof List<? extends Comparable>) 的合法替代品

我有一个唯一参数(Listelements)将元素设置为ListModel的方法,但我需要进行验证以查看通用类型是否实现了可比性,因为这样的事情:if(elementsinstanceofList)是非法的,我不知道如何进行正确的验证。更新我已经使用以下方法完成了此验证:(elements.size()>0&&elements.get(0)instanceofComparable)但我想知道是否有更清洁的解决方案,例如使用反射?提前致谢。 最佳答案 列表的通用类型是erasedatruntime.为此,您需要在方法签名中要求参数或单

java - <U, T extends U> 和 <T, U super T> 不一样吗?

我对以下两个方法声明感到困惑:privateTfunWorks(Tchild,Uparent){//Nocompilationerrors}privateTfunNotWorks(Tchild,Uparent){//compilationerrors}难道上面两个都不是有效的吗?类比如果U是T的父级,则T是U的子级。那为什么第二个会报编译错误呢?编辑:我认为,TextendsT和TsuperT都是有效的。对吧? 最佳答案 类型参数(您的示例)只能使用扩展(JLS#4.4):TypeParameter:TypeVariableType

java - 未从 jar 中获取 log4j.properties

我的服务器的类路径中有一个jar,它包含位于jar根目录的log4j.properties文件,用于记录代码。当jar中的代码运行时,代码的日志记录不会发生。当我使用java-Dlog4j.debug选项分析问题时,我知道log4j正在加载axis-ant.jar的log4j.properties文件(这也是在我的类路径上)并使用它代替我的jar的属性文件。当我随后从类路径中删除axis-ant.jar时,我的jarslog4j.properties文件被立即选中并记录了我的代码。有人能解释一下为什么我的log4j.properties文件没有加载而axis-ant.jar存在吗?令人

返回 Class<T extends Somethng> 实例的 java 方法

我有这个代码:publicClassgetScrapper(){returnMyScrapper.class;}MyScrapper是一个实现Scrapper的类界面。为什么这不起作用?你在JDK7中遇到以下错误:error:incompatibletypesrequired:Classfound:ClasswhereTisatype-variable:TextendsScrapperdeclaredinmethodgetScrapper()附言老实说,我已经尝试搜索整整30-40分钟。更新:如果我将方法声明为publicClassgetScrapper(){有用。但我仍然不明白为什么

java - Spring Boot - 无法在 application.properties 的 xml 中解析属性

我有一个springboot应用程序我的@Configuration类使用@ImportResource("path/to/xml")加载xml配置,其中包含以下行在src/main/resources下,我有包含以下内容的application.properties文件:log.directory=C:/path/I/Need但是,当我运行它时,它无法按如下方式加载属性:原因:java.lang.IllegalArgumentException:无法解析字符串值“${log.directory}/file.ext”中的占位符“log.directory”

java - `copy(List<? super T> dest, List<? extends T> src) ` 和 `copy(List<T> dest, List<? extends T> src)` 之间的差异

我正在尝试通过阅读以下内容来学习Java泛型通配符:http://www.angelikalanger.com/GenericsFAQ/FAQSections/TypeArguments.html#FAQ103Material中有一个例子:publicclassCollections{publicstaticvoidcopy(Listdest,Listsrc){for(inti=0;i我想知道我是否可以按如下方式更改方法签名:publicstaticvoidcopy(Listdest,Listsrc){↓publicstaticvoidcopy(Listdest,Listsrc){这两

java - 使用spring boot和spring-boot-maven-plugin生成war时排除application.properties

我正在使用SpringBoot开发Web应用程序,并希望生成war而不是jar。使用这里描述的从jar到war的转换工作得很好:http://spring.io/guides/gs/convert-jar-to-war/但我想从war中排除application.properties,因为我使用@PropertySource(value="file:${OPENSHIFT_DATA_DIR}/application.properties")获取文件路径生产环境。此方法在生成我的war时有效,但在eclipse中我无法运行我的应用程序,因为application.properties根本