如何配置Spring bean容器(或应用程序上下文)来加载Java属性文件?
JavaWorld文章Smartly Load Your Properties说明了如何使用标准Java库中的以下资源处理方法之一从类路径加载属性文件:
ClassLoader.getResourceAsStream ("some/pkg/resource.properties");
Class.getResourceAsStream ("/some/pkg/resource.properties");
ResourceBundle.getBundle ("some.pkg.resource");
Run Code Online (Sandbox Code Playgroud)
你如何使用Spring bean容器做同样的事情?
默认情况下,方法java.util.Date.toString()
显示的时区是什么?由于Java Date
以UTC格式存储给定日期且不包含任何显式时区,因此Date.toString()
只显示主机的默认时区,或者TimeZone.getDefault()
?
Oracle JDBC驱动程序为Oracle SQL数据类型分配了哪些Java数据类型NUMERIC
?这是否随NUMERIC
类型的大小而变化?
假设两者兼容,我如何强制Maven 2使用Ehcache 2.2.0而不是使用Hibernate 3.3.2.GA的Ehcache 1.2.3?
从本质上讲,我希望取代令人费解的和实际上循环的依赖链
同
更新:
我了解到这hibernate-commons-annotations-3.3.0.ga
也取决于神器ehcache-1.2.3
:
[INFO] +- org.hibernate:hibernate-commons-annotations:jar:3.3.0.ga:compile
[INFO] | +- org.hibernate:hibernate:jar:3.2.1.ga:compile
[INFO] | | +- net.sf.ehcache:ehcache:jar:1.2.3:compile
[INFO] | | +- asm:asm-attrs:jar:1.5.3:compile
[INFO] | | +- cglib:cglib:jar:2.1_3:compile
[INFO] | | \- asm:asm:jar:1.5.3:compile
[INFO] | \- javax.persistence:persistence-api:jar:1.0:compile
Run Code Online (Sandbox Code Playgroud)
目的是hibernate-commons-annotations-3.3.0.ga
什么?如果它使用Hibernate是否需要这个工件hibernate-annotations-3.2.1-ga
?是否有不包含Ehcache的此工件的替代品?我应该只是尝试将其从构建中排除吗?
如何在Spring 应用程序上下文中配置类org.springframework.orm.hibernate3.LocalSessionFactoryBean的Hibernate类映射?我想将会话工厂类映射从以下内容移动到相应的Spring会话工厂bean,以便我可以消除. hibernate.cfg.xml
hibernate.cfg.xml
档案hibernate.cfg.xml
:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- ... -->
<mapping resource="Queries.hbm.xml" />
<mapping class="com.company.app.common.model.Account" />
<mapping class="com.company.app.common.model.AccountCategory" />
<mapping class="com.company.app.common.model.AssetType" />
<mapping class="com.company.app.common.model.Book" />
<mapping class="com.company.app.model.AssetTypeCategory" />
<!-- ... -->
</session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)
档案spring-application-context.xml
:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configurationClass">
<value>org.hibernate.cfg.AnnotationConfiguration</value>
</property>
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
<!-- Instead of the above, I want to use the following. Where …
Run Code Online (Sandbox Code Playgroud) 我应该使用哪些fast-xml-parser选项才能将输入 XML 文档解析为 JSON,然后编写相同的 XML 文档,同时保留所有命名空间和属性名称和值?
在Scala中,如何在不是数据成员的类的主构造函数中定义局部参数,例如,仅用于初始化基类中的数据成员?
例如,在下面的代码中,如何b
在类的主构造函数中正确定义参数,B
以便它只生成临时本地参数而不是数据成员?
class A(var a: Int)
class B(?b?) extends A(b)
Run Code Online (Sandbox Code Playgroud)
Randall,你的答案解释了当我引入一个inc
增加属性的方法时Scala编译器抱怨的原因a
,但是也改变了类B
构造函数中参数的名称以匹配类构造函数中参数的名称A
:
class A(var a: Int)
class B(a: Int) extends A(a) {
def inc(value: Int) { this.a += value }
}
Run Code Online (Sandbox Code Playgroud)
Scala编译器输出:
$ scala construct.scala
construct.scala:3: error: reassignment to val
def inc(value: Int) { this.a += value }
^
one error found
Run Code Online (Sandbox Code Playgroud)
Scala抱怨因为引用in 而类B
必须现在具有私有的只读属性.更改以生成不同的编译器错误:a
a
inc
B(a: Int)
B(var a: Int)
construct.scala:2: error: error overriding variable …
Run Code Online (Sandbox Code Playgroud) 如何配置Hibernate在会话执行每个操作后立即将所有保存,更新和删除应用到数据库服务器?默认情况下,Hibernate将所有保存,更新和删除操作排入队列,并仅在执行flush()
操作,提交事务或关闭发生这些操作的会话后将其提交到数据库服务器.
立即刷新数据库"写"操作的一个好处是程序可以捕获并处理它们出现的代码块中的任何数据库异常(例如ConstraintViolationException).对于延迟或自动刷新,这些异常可能在导致SQL操作的相应Hibernate操作之后很久发生.
更新:
根据接口Session的Hibernate API文档,在会话结束之前捕获和处理数据库异常的好处可能完全没有任何好处:"如果会话抛出异常,则必须回滚事务并丢弃会话.异常发生后,Session的内部状态可能与数据库不一致."
或许,然后,使用try-catch块围绕"立即"Hibernate会话写操作的好处是在异常发生时立即捕获并记录异常.立即冲洗这些操作是否还有其他好处?
java ×7
hibernate ×3
spring ×3
classpath ×1
constructor ×1
database ×1
date ×1
ehcache ×1
javascript ×1
maven-2 ×1
oracle ×1
parsing ×1
properties ×1
scala ×1
sql ×1
sqldatatypes ×1
terracotta ×1
timezone ×1
types ×1
xml ×1
xml-parsing ×1