如何在CamelBlueprintTestSupport中加载spring上下文xml文件以及如何在spring上下文中获取数据源对象xml,问题是我有一个异常像java.lang.NullPointerException在com.hotel.common.persistence.dao.DAOFactory.getDAO(DAOFactory.java:27)我的假设是DAOFactory类没有得到映射器类。这是对的吗?如何在CamelBlueprintTestSupport中加载spring上下文xml文件以及如何在spring上下文中获取数据源对象xml
我必须跟大家分享我的示例代码
这是我测试类
公共类ContextRouteGetAvailabilityXmlTest扩展CamelBlueprintTestSupport {
@Override
protected String getBlueprintDescriptor() {
return "OSGI-INF/blueprint/context-beans.xml,OSGI-INF/blueprint/context-config.xml,OSGI-INF/blueprint/context-route-getAvailability.xml";
}
@Override
protected void addServicesOnStartup(Map<String, KeyValueHolder<Object, Dictionary>> services){
BasicDataSource datasource = new BasicDataSource();
datasource.setDriverClassName("com.mysql.jdbc.Driver");
datasource.setUrl("jdbc:mysql://my ip:3306/test");
datasource.setUsername("test");
datasource.setPassword("test1");
datasource.setConnectionProperties("useUnicode=yes;characterEncoding=utf8;");
services.put("dataSourceMySQL", asService(datasource, null));
}
}
这是我spring context.xml f ILE
<osgi:reference id="dataSourceMySQL" interface="javax.sql.DataSource"/>
<bean id="mybatisConfig" class="org.springframework.core.io.ClassPathResource">
<constructor-arg value="/META-INF/config/mybatis-config.xml" />
</bean>
<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSourceMySQL" />
<property name="configLocation" ref="mybatisConfig" />
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactoryBean" />
</bean>
<!-- scan for mappers and let them be autowired -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.sia.csl.hotel.common.persistence.mapper" />
<property name="sqlSessionTemplateBeanName" value="sqlSession" />
</bean>
<bean id="daoFactory"
class="com.common.persistence.dao.DAOFactory" />
这样,我试图加载数据库和我有与你分享我的DAOFactory.java文件 –