不适用配置config类以及 application.yml文件配置的情况下连接factorybean

佐手、 提交于 2019-12-28 11:15:46

不适用配置config类以及 application.yml文件配置的情况下连接factorybean
/**

  • 应用程序的启动引导类 (bootstrap class) 也是主要的spring 配置类
    */
    @SpringBootApplication //开启组件扫描和自动配置
    @MapperScan(basePackageClasses = {YjgzDao.class}, sqlSessionFactoryRef = “sqlSessionFactory”)
    //@MapperScan(basePackages = “com.baowei.yjpt.springcloud.dao”)
    public class YjgzProvider8001Application {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    public static void main(String[] args) {
    //负责启动引导应用程序
    SpringApplication.run(YjgzProvider8001Application.class, args);
    }

// /**
// * 覆盖spring boot默认的 Http 消息转换器
// /
@Bean
public HttpMessageConverter httpMessageConverters() {
FastJsonHttpMessageConverter fjhmc = new FastJsonHttpMessageConverter();
FastJsonConfig config = new FastJsonConfig();
config.setCharset(Charset.forName(“UTF-8”));
fjhmc.setFastJsonConfig(config);
return fjhmc;
}
////
@Bean
@Conditional(JdbcTemplateCondition.class) //使用一个简单的条件注解 满足这个条件才会创建SqlSessionFactory 这个bean
public SqlSessionFactory sqlSessionFactory(@Autowired DataSource dataSource) throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource);
return sqlSessionFactoryBean.getObject();
}
//
// /
*

public class JdbcTemplateCondition implements Condition {
@Override
public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) {
try {
conditionContext.getClassLoader().loadClass(“org.springframework.jdbc.core.JdbcTemplate”);
return true;
} catch (ClassNotFoundException e) {
return false;
}
}
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!