使用springboot框架,您可以轻松快速地构建独立的生产级别的spring应用程序。springboot主要有以下的特性:
1.创建独立的Spring应用
2.直接嵌入Tomcat等Web容器(不需要部署WAR文件)
3.提供固化的“starter”依赖,简化构建配置
4.当条码满足时自动装配Spring货第三方类库
5.提供运维的特性,如指标信息,健康检查和外部配置
6.不需要XML配置。
引入mybatis的starter依赖和相关的数据库驱动
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency>
程序使用
//程序的启动类 @SpringBootApplication public class HelloApplication { public static void main(String[] args) { SpringApplication.run(HelloApplication.class, args); } //服务类 @Service public interface UserService { @Autowired private UserXmlMapper userXmlMapper; @Test public void testFindAll2() { List<User> list = userXmlMapper.findAll(); System.out.println(list); } } //Dao 操作 @Mapper public interface UserXmlMapper { public List<User> findAll(); }
上面的代码,大家都是很熟悉的,springboot是如何实现 @Mapper的注解,就可以操作数据库呢(就是中间有个桥梁,如何将springboot和mybatis连接起来的,而这个桥梁是如何实现的呢)
从启动类寻找桥梁
通过源码可以知晓
桥梁 =@SpringBootApplication=>@EnableAutoConfiguration=>@Import({AutoConfigurationImportSelector.class})
分析源码可知AutoConfigurationImportSelector的主要作用
扫描classpath下所有的jar包
在META-INF/spring.factories配置好的AutoConfiguration
扫描出来需要执行的AutoConfguration
回想再使用mybatis的时候,是需要引入mybatis的starter依赖包的,再结合AutoConfigurationImportSelector的第二点功能,可以到对应的jar下找到mybatis的AutoConfguration。
也就是说spring-boot启动【会创建个spring容器】的时候,会去执行MybatisAutoConfiguration的逻辑【处理@Mapper的类(扫描出来注入到srping容器)和数据库连接等功能】。
以上是Springboot框架怎么实现自动装配的详细内容。更多信息请关注PHP中文网其他相关文章!