<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>a.properties</value>
<value>b.properties</value>
<value>c.properties</value>
</list>
</property>
</bean>
abc.hibernate.show_sql=true
abc.hibernate.default_schema=myschema
abc.hibernate.xxx=xxx
abc.hibernate.xxx=xxx
abc.hibernate.xxx=xxx
abc.hibernate.xxx=xxx
abc.hibernate.xxx=xxx
abc.hibernate.xxx=xxx
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="hibernateProperties">
<util:properties>
<prop key="hibernate.show_sql">${abc.hibernate.show_sql}</prop>
<prop key="hibernate.xxx">${abc.hibernate.xxx}</prop>
<prop key="hibernate.xxx">${abc.hibernate.xxx}</prop>
<prop key="hibernate.xxx">${abc.hibernate.xxx}</prop>
<prop key="hibernate.xxx">${abc.hibernate.xxx}</prop>
<prop key="hibernate.xxx">${abc.hibernate.xxx}</prop>
</util:properties>
</property>
</bean>
<prop key="hibernate.xxx">${abc.hibernate.xxx}</prop>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="hibernateProperties">
<something prefix="abc" /> <!-- TODO -->
</property>
</bean>
这是可能的还是有其他简单的解决办法?
可以使用以下类来扩展java.util.properties:
import java.util.Enumeration;
import java.util.Properties;
public class PrefixedProperties extends Properties {
public PrefixedProperties(Properties props, String prefix){
if(props == null){
return;
}
Enumeration<String> en = (Enumeration<String>) props.propertyNames();
while(en.hasMoreElements()){
String propName = en.nextElement();
String propValue = props.getProperty(propName);
if(propName.startsWith(prefix)){
String key = propName.substring(prefix.length());
setProperty(key, propValue);
}
}
}
}
然后您可以如下定义sessionFactory:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="hibernateProperties">
<bean id="sessionFactoryProperties" class="PrefixedProperties">
<constructor-arg ref="props"/> <!-- reference to all properties -->
<constructor-arg value="abc.hibernate."/> <!-- prefix -->
</bean>
</property>
</bean>
我看不到任何其他筛选属性的可能性。
我有以下.properties文件: 0.0=值1 2.45=值3 2.65=值4 2.71=值5 我试过这个: 但我的集合中没有按键在文件中出现的顺序包含键, 不知道是什么原因,他们是这样出现的:
因为我可以预见它的到来:这是一个不同于GHC可以可靠执行哪些优化的问题?因为我不是要求最可靠的优化,只是最聪明/最强大的。 我特别寻找GHC进行的非直观优化,这些优化可能会对性能产生严重影响,并展示与延迟计算或纯度相关的编译器优化的威力。并直接解释如何找到它们。 最好的答案是: 对优化的解释以及为什么它如此聪明或强大 为什么优化提高了性能 GHC如何识别何时可以使用此优化 优化实际上将代码转换成什
Spring Boot提供了一种优雅的方法,可以使用将带有特定键前缀的属性注入Configuration类。这是显示在这里和这里。问题是,如何将前缀属性注入到实例中,如下所示?
当我使用jsole访问weblogic的mbean时,我只能得到一些关于jvm的信息,比如“java.lang”。但是我想得到的是关于“jdbc”、“jta”、“ejb”、“servlet”... 我想知道是否可以通过服务获得这些指标:jmx:rmi:///jndi/rmi://10.0.99.102:7997/jmxrmi使用用户名和密码。我认为我的配置很可能有错误,但我不知道问题出在哪里。 然
当我在应用程序属性中添加表前缀时,我遇到了一个问题,Spring Batch没有获取该属性并设置默认前缀Batch。 Spring版 org.springframework.jdbc.错误的SQL语法[SELECTJOB_INSTANCE_ID,JOB_NAMEBATCH_JOB_INSTANCEJOB_NAME=?和JOB_KEY = ?]; 嵌套异常java.sql.SQLSyntaError
问题内容: 我将数据存储在Redis中。我将它存储在GUID,createday和它的大小中。 因此,我定义以下内容: 我希望查看我的数据库中的所有文件。因此,我尝试以下操作: 但是res是。我该怎么做? 问题答案: 返回存储在key处的哈希的所有字段和值,您不能指定掩码: http //redis.io/commands/hgetall 您可以调用获取符合条件的所有键的列表,然后循环获取所有值。