如何在类型处理程序中使用spring注入属性?

时间:2019-04-13 13:06:18

标签: java spring spring-boot mybatis typehandler

我正在设置一个使用mybatis将对象映射到数据库或从数据库映射对象的应用程序。

在mybatis文件中,我使用typehandler映射要发送到数据库的对象之一。

在typeHandler中,我使用spring @resource注入属性。

但是,在调用typehandler时,注入的属性始终为null

从我的研究中,我发现mybatis会在弹簧加载之前设置其配置。这意味着无法在创建之后将其注入处理程序中。

有人知道解决方案吗?

1 个答案:

答案 0 :(得分:2)

应该让spring管理定制的类型处理程序,如下所示:

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="typeHandlers">
      <array>
        <bean class="com.example.YourCustomTypeHandler">
          <!-- inject -->
          <property name="property" ref="bean"/>
        </bean>
      </array>
    </property>
</bean>