@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)时报Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
时间: 2023-12-16 20:28:35 浏览: 40
这个错误通常是因为在使用`@SpringBootApplication`注解时,没有正确配置MyBatis的`SqlSessionFactory`或`SqlSessionTemplate`。解决这个问题的方法是在`@SpringBootApplication`注解中排除`DataSourceAutoConfiguration`,并手动配置`SqlSessionFactory`或`SqlSessionTemplate`。以下是一个例子:
```java
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class MyApplication {
@Autowired
private DataSource dataSource;
@Bean
public SqlSessionFactory sqlSessionFactory() throws Exception {
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
return sessionFactory.getObject();
}
@Bean
public SqlSessionTemplate sqlSessionTemplate() throws Exception {
SqlSessionTemplate template = new SqlSessionTemplate(sqlSessionFactory());
return template;
}
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
```
在这个例子中,我们手动配置了`SqlSessionFactory`和`SqlSessionTemplate`,并将`DataSourceAutoConfiguration`排除在`@SpringBootApplication`注解之外。这样就可以避免这个错误了。