0

将 MapperScannerConfigurer bean 配置添加到配置 xml 以自动装配 my-batis 映射器后,出现以下占位符问题的数据源 bean 创建错误。看起来 spring 无法从属性文件中解析动态数据源属性。配置还具有 PropertySourcesPlaceholderConfigurer 定义,以从类路径文件中检索数据源属性(最小池大小和最大池大小)。即使有 PropertySourcesPlaceholderConfigurer bean 配置,集成测试也会失败并出现以下错误。基本上它无法解析动态属性。非常感谢任何帮助。这只是基于 spring 和 my-batis 的项目,我没有 spring boot。

Spring 5.3 版 my-batis-spring 2.0.6

java.lang.NumberFormatException:对于输入字符串:“${datasource.minpoolsize}”

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.mapper" />
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>

<bean id="appProperties"
      class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
    <property name="ignoreUnresolvablePlaceholders" value="true" />
    <property name="locations">
        <list>
            <value>
                classpath:configs/application.yaml
            </value>
        </list>
    </property>
</bean>
4

1 回答 1

0

我没有在 xml 中配置 MapperScannerConfigurer,而是在 Spring 配置 bean 上使用了 @MapperScan,从而解决了这个问题。

于 2021-11-03T16:08:22.860 回答