我编写了以下代码,它可以工作,但是我不确定为什么。 我想要的是自定义spring-data-jdbc的jdbc配置,并用另一个配置扩展了配置,但是... IoC容器中到底发生了什么?
JdbcConfiguration
是@Configuration
的带注释的bean,它实例化一个
JdbcCustomConversions
,并且我能够重写此行为,将整个配置子类化,并指定自己的方法,但我不确定为什么。
@Configuration
public class CustomJdbcConfiguration extends JdbcConfiguration{
@Override
protected JdbcCustomConversions jdbcCustomConversions() {
return new JdbcCustomConversions(Collections.singletonList(CLobToStringConverter.INSTANCE));
}
@ReadingConverter
enum CLobToStringConverter implements Converter<Clob, String>{
INSTANCE;
@Override
public String convert(Clob source) {
try {
return IOUtils.toString(source.getCharacterStream());
} catch (IOException | SQLException e) {
throw new RuntimeException(e);
}
}
}
}