使用spring+mybatis写了一个jar程序,打包后xml配置中properties无法解析

使用spring+mybatis写了一个jar程序,打包的时候将properties放在了jar包外面,现在applicationContext.xml可以读取到,但是读取不到数据库配置的properties文件

<context:property-placeholder location="classpath:db.properties"/>
    <context:component-scan base-package="com.test.service.impl"></context:component-scan>
    <bean class="org.springframework.jdbc.datasource.DriverManagerDataSource" id="dataSource">
        <property name="driverClassName" value="${oracle.driverClassName}"></property>
        <property name="url" value="${oracle.url}"></property>
        <property name="username" value="${oracle.username}"></property>
        <property name="password" value="${oracle.password}"></property>
    </bean>
    <bean class="org.mybatis.spring.SqlSessionFactoryBean" id="factory">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" id="mapper">
        <property name="basePackage" value="com.jl.batchregister.mapper"></property>
        <property name="sqlSessionFactoryBeanName" value="factory"></property>
    </bean>

    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>

如果将classpath改为classpath*之后可以读取到文件,但是${}占位符直接按字符串加载了,这种问题该怎么解决

4个回答

是不是classpath:后面应该有个/?

weixin_42297908
伊原蝶恋 加了/还是解析不了,还是直接将${oracle.driverClassName}当做driverClassName
8 个月之前 回复
https://blog.csdn.net/qq_35830949/article/details/80548946

如果写的没有问题,考虑下路径的问题

classpath*::db.properties 看看

weixin_42297908
伊原蝶恋 改了之后不报错,但是${}占位符直接按照字符串读取了,应该还是没有读取到吧
8 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!