最近需要做一个项目 需要整合clickhouse
本来有现成的项目,复制一下就好了。但是想自己从头开始一个个文件搭建
但是还是遇到了很多坑, 这就是传说中的约定优于配置吗
1 首先第一步application启动的时候 启动完了,就会退出,意思就是执行完了
这里其实是需要一个容器的环境
需要引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2 首先Application启动文件上面要加注解
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class}) 一个是datasource需要排除
@MapperScan({"com.*****.mapper"}) 然后mapper文件需要扫描
MapperScan加入的时候 启动会报错
Invalid default: public abstract java.lang.Class org.mybatis.spring.annotation.MapperScan.factoryBean()
需要添加依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
3 mybatis默认的xml路径实在resources下,放在其他位置启动的时候会被删除,不会编译到项目
4 使用ConfigurationProperties注解的时候 只会默认读取application.ymal 文件 properties不会被读取 坑爹
并且这里需要引入注解
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
5 Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
原因是mybatis-spring-1.2.0
中取消了自动注入 需要手动set进入