开源框架
MyBatis重要组件:
- Mapper配置: 实体类, 数据表,XML或注解
- Mapper接口: DAO层接口。 (只需要写接口,不用写实现类 :需要遵循约定)
Mapper接口在编写时 需要遵循约定:
-
方法名和SQL配置文件(studentMapper.xml)中的id值必须相同
-
方法的输入参数,必须和SQL配置文件的 parameterType的类型相同;
-
方法的返回值,必须和SQL配置文件的resultType的类型相同
特殊:
-
如果不存在parameterType ,则代表是一个无参方法
-
如果不存在resultType,则代表返回值是void
-
如果方法的返回值是一个集合类型,则实际resultType仍然是元素类型,而不是集合类型。
Spring用到了那些设计模式
-
工厂模式:创建bean、获取bean
-
单例模式/原型模式: 创建bean时,设置作用域 ,singleton/prototype
-
监听模式:自定义时间发布,监听模式。如ApplicationListener,当某个动作触发时,就会自动执行一个通知。
以前(不用spring boot),需要自己配置框架的配置文件。
spring,mybatis ,SSM整合等情况 需要编写一大堆配置文件。
如果使用Spring Boot,则可以省略配置 。 好处:将开发重点放在业务逻辑上,而不是配置上。
自动装配的原理? 约定优于配置 (核心:将一些配置功能,前置到源码底层实现好)
- 自动装配两个特点:
-
版本仲裁中心:因此,以后引入依赖时,不用再写版本号。好处:1.不用记 2.避免冲突(防止引入多个引来时,由于各个依赖的版本不兼容造成的冲突)
-
提供了很多starter(场景启动器) :批量jar。
假设开发web项目 ( json.jar tomcat.jar hibernate-validator.jar, spring-web.jar … ) => spring-boot-starter-web.
以后使用web项目,只需要引入spring-boot-starter-web
自动装配的应用时: @EnableAutoConfiguration 就是springboot提供自动装配的 注解。