我想访问提供的值application.properties
,例如:
logging.level.org.springframework.web: DEBUG
logging.level.org.hibernate: ERROR
logging.file=${HOME}/application.log
userBucket.path=${HOME}/bucket
Run Code Online (Sandbox Code Playgroud)
我想userBucket.path
在Spring Boot应用程序中访问我的主程序.
在我的Web应用程序中,我必须向一组预定义用户发送电子邮件finance@xyz.com
,因此我希望将其添加到.properties
文件中并在需要时访问它.这是一个正确的程序,如果是这样,那么我应该在哪里放置这个文件?我正在使用Netbeans IDE,它有两个单独的文件夹用于源文件和JSP文件.
有谁知道如何在Maven中读取x.properties文件.我知道有一些方法可以使用资源过滤来读取属性文件并从中设置值,但是我想在我的pom.xml中使用以下方法:
<properties file="x.properties">
</properties>
Run Code Online (Sandbox Code Playgroud)
有一些讨论: Maven外部属性
我在用春天.我需要从属性文件中读取值.这是内部属性文件而不是外部属性文件.属性文件可以如下所示.
some.properties ---file name. values are below.
abc = abc
def = dsd
ghi = weds
jil = sdd
Run Code Online (Sandbox Code Playgroud)
我需要以传统方式从属性文件中读取这些值.怎么实现呢?有没有关于spring 3.0的最新方法?
我需要读取一个隐藏在我的包结构中的属性文件com.al.common.email.templates
.
我已经尝试了一切,我无法弄明白.
最后,我的代码将在servlet容器中运行,但我不想依赖于容器.我编写JUnit测试用例,它需要兼顾两者.
我正在.properties
使用Spring 从文件加载属性属性,如下所示:
file: elements.properties
base.module.elementToSearch=1
base.module.elementToSearch=2
base.module.elementToSearch=3
base.module.elementToSearch=4
base.module.elementToSearch=5
base.module.elementToSearch=6
Run Code Online (Sandbox Code Playgroud)
spring xml文件
file: myapplication.xml
<bean id="some"
class="com.some.Class">
<property name="property" value="#{base.module.elementToSearch}" />
</bean>
Run Code Online (Sandbox Code Playgroud)
还有我的Class.java
file: Class.java
public void setProperty(final List<Integer> elements){
this.elements = elements;
}
Run Code Online (Sandbox Code Playgroud)
但是在调试时,参数元素只将最后一个元素放入列表中,因此,有一个值为"6"的元素列表,而不是包含6个元素的列表.
我尝试了其他方法,例如仅添加值,#{base.module}
但它在属性文件中找不到任何参数.
解决方法是在elements.properties文件中包含以逗号分隔的列表,例如:
base.module.elementToSearch=1,2,3,4,5,6
Run Code Online (Sandbox Code Playgroud)
并将其用作String并解析它,但是有更好的解决方案吗?
我有几个由maven构建的项目,我想在它们之间共享一些常见的属性 - spring版本,mysql驱动程序版本,svn base url等等 - 所以我可以更新它们一次,它将反映在所有项目中.
我想过有一个带有所有属性的超级pom,但如果我改变其中一个问题,我需要增加它的版本(并更新所有poms继承它)或从所有开发人员的机器中删除它我不想这样做.
可以在pom外部指定这些参数吗?我仍然希望在父pom中具有外部位置定义.
如何使用Groovy从属性文件中获取值?
我需要一个属性文件(.properties),它将文件名作为键,并将其目标路径作为值.我需要在运行时解析密钥,具体取决于需要移动的文件.
到目前为止,我能够加载它看起来的属性,但不能从加载的属性"获取"值.
我提到了线程:groovy:如何访问属性文件?以下是我到目前为止的代码片段
def props = new Properties();
File propFile =
new File('D:/XX/XX_Batch/XX_BATCH_COMMON/src/main/resources/patchFiles.properties')
props.load(propFile.newDataInputStream())
def config = new ConfigSlurper().parse(props)
def ant = new AntBuilder()
def list = ant.fileScanner {
fileset(dir:getSrcPath()) {
include(name:"**/*")
}
}
for (f in list) {
def key = f.name
println(props)
println(config[key])
println(config)
def destn = new File(config['a'])
}
Run Code Online (Sandbox Code Playgroud)
属性文件现在具有以下条目:
jan-feb-mar.jsp=/XX/Test/1
XX-1.0.0-SNAPSHOT.jar=/XX/Test/1
a=b
c=d
Run Code Online (Sandbox Code Playgroud)
如果我使用props.getProperty('a')或config ['a']查找,则返回正确的值.还尝试了代码:notation
但是一旦切换到使用变量"key",就像在config [key]中一样,它返回 - > [:]
我是groovy的新手,不能说我在这里失踪了什么.
通过在build.xml
文件中使用以下代码块
<propertyfile file="default.properties" comment="Default properties">
<entry key="source.dir" value="1" />
<entry key="dir.publish" value="1" />
<entry key="dir.publish.html" value="1" />
</propertyfile>
Run Code Online (Sandbox Code Playgroud)
我能够生成default.properties
包含以下文件内容的文件
source.dir=1
dir.publish=1
dir.publish.html=1
Run Code Online (Sandbox Code Playgroud)
我想知道如何在生成的文件中添加我的评论?例如,生成的属性应具有以下内容:
# Default Configuration
source.dir=1
dir.publish=1
# Source Configuration
dir.publish.html=1
Run Code Online (Sandbox Code Playgroud)
我怎样才能使用Ant动态地做到这一点build.xml
?
是否可以使用Spring Boot的@ConfigurationProperties
注释创建不可变(最终)字段?以下示例
@ConfigurationProperties(prefix = "example")
public final class MyProps {
private final String neededProperty;
public MyProps(String neededProperty) {
this.neededProperty = neededProperty;
}
public String getNeededProperty() { .. }
}
Run Code Online (Sandbox Code Playgroud)
到目前为止我尝试过的方法:
@Bean
了的MyProps
两个类的构造函数
neededProperty
argumentnew MyProps()
null
@ComponentScan
和@Component
提供MyProps
bean.
BeanInstantiationException
- >NoSuchMethodException: MyProps.<init>()
我得到它的唯一方法是为每个非最终字段提供getter/setter.
properties-file ×10
java ×6
spring ×3
maven-2 ×2
spring-boot ×2
ant ×1
build ×1
groovy ×1
java-ee ×1
placeholder ×1
resources ×1
servlets ×1