datasource配置xml(基于XML配置的Spring,读取yaml文件)
本文目录
- 基于XML配置的Spring,读取yaml文件
- 注解和xml配置都无法注入dydatasource,报空指针异常,为什么
- proxool怎么配置DataSource
- 帆软报表怎么找到datasouce.xml属性
基于XML配置的Spring,读取yaml文件
背景:
近日在复习Spring的时候开始从头构建一个项目,就打算从XML配置开始(虽然现在都流行SpringBoot,但是核心还是Spring没变)。由于工作习惯,所以使用 xxxx.yaml 来做配置文件。但是在一切都ready的时候却收到如下报错:
可以看到没读取到 dataSource 的配置信息。
在网上几番查找之后有了点眉目,主要是参考了这一条答案:
Read spring yml properties from xml configuration
这条答案指出,需要配置一个bean YamlPropertiesFactoryBean ,并指明 yaml 文件的位置,所以我在配置里做了这样的修改
但是,但是又来了,又得到一个错误 No default c***tructor found; nested exception is java.lang.NoClassDefFoundError: org/yaml/snakeyaml/c***tructor/BaseC***tructor
那么这个错误分析起来就要简单点了,没找到 snakeyaml 里的 BaseC***tructor ,那就去引入这个包吧。
直接到 pom.xml 里添加依赖就可以了:
OK,这样就搞定咯。
———————————————————————————————
通常大家都是 XML+properties的搭配,我也不太清楚yaml文件确实是需要 YamlPropertiesFactoryBean 这样来转换,还是说这是一个特例。也许我做得不是很完美,如果有其他更好的方法,请在下面留言告诉我。
注解和xml配置都无法注入dydatasource,报空指针异常,为什么
中使用Spring@Service注解的bean 使用自动注入属性注解报错得到空指针异常
proxool怎么配置DataSource
有多种配置方式,属性文件、xml文件
写个配置文件如:test.properties
jdbc-0.proxool.alias=property-test
jdbc-0.proxool.driver-url=jdbc:oracle:thin:@localhost:1521:chenjh
jdbc-0.proxool.driver-class=oracle.jdbc.driver.OracleDriver
jdbc-0.user=ff
jdbc-0.password=ff
jdbc-0.proxool.maximum-connection-count=10
jdbc-0.proxool.house-keeping-test-sql=select sysdate from dual
代码示例:
PropertyConfigurator.configure("test.properties");
Connection conn = null;
conn = DriverManager.getConnection("proxool.property-test");
即可得到数据库连接。
帆软报表怎么找到datasouce.xml属性
集成好的系统有时会遇到数据迁移的情况,如项目集成时使用的是测试数据库,投入使用时需要切换为正式数据库,需要修改数据库服务器的地址,用户名和密码。
最好的方法是**FR管理平台,修改数据连接。或者使用设计器远程设计上的报表应用,修改数据连接定义。若以上方法都不想采用,也可以通过修改保存数据连接的配置文件datasource.xml来实现。
在设计器中定义的数据连接信息与服务器数据集信息都保存在appName\WEB-INF\resources\datasource.xml文件中,以下对常用信息进行说明。在设计器》定义数据连接中定义的数据库信息及连接池属性都保存在datasource.xml中,如下图定义的oracle数据库连接及连接池信息:
对应保存的内容如下:
在设计器服务器》服务器数据集中定义的全局数据集信息保存在datasource.xml中,如下图定义的服务器数据集:
对应保存的内容如下: