一、自己的SpringBoot框架要求:
一般有以下结构:
1. 定义一个工厂类,写自己框架的需求,例如:
public class SqlSessionFactory {
public SqlSessionFactory(){
System.out.println("run SqlSessionFactory!");
}
public String getSqlSession() {
return "sqlSession";
}
}
2. 定义框架相关配置信息:
import org.springframework.boot.context.properties.ConfigurationProperties;
//声明使用框架时在application.yml文件中配置时的前缀
@ConfigurationProperties(prefix = "com.company.mybatis")
public class MybatisProperties {
String url = "localhost";
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
3. 配置SpringBoot启动时加载入口:
import javax.annotation.Resource;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
//
@EnableConfigurationProperties(MybatisProperties.class)
public class MybatisAutoConfiguration {
//
@Resource
MybatisProperties mybatisProperties;
@Bean
public SqlSessionFactory sqlSessionFactory() {
System.out.println("url="+mybatisProperties.getUrl());
return new SqlSessionFactory();
}
}
4. 在主启动类所在包下创建文件夹META-INF,文件夹中创建文件spring.factories:
文件中配置为key=value结构,key是固定值,value为SpringBoot入口类的包名+类名
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.company.demo.MybatisAutoConfiguration