不适用配置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;
}
}
}