一、Spring
1、spring中三种创建对象的方式
(1)调用构造函数
(2)调用自己的静态方法
(3)调用容器中其他bean的方法
2、bean标签的属性
id:bean的唯一标志
class:bean的leix
factory-method:调用工厂方法,创建对象
factory-bean:调用创建对象的bean , 然后再factory-method 设置需要调用的具体的方法。
scope
:单例(prototype)新对象
非单例(singleton)同一对象
3、注解
@Before:@Test方法执行之前,先执行@Before修饰的方法
@After:@Test方法执行之后,再执行@Before修饰的方法
@Test:测试
@Component :通知spring框架,创建对象 ,默认的id,就是类名首字母小写。简化xml中的bean的配置。
@Data:get/set方法
@ToString:toString
@AllArgsConstructor:有参构造函o
@NoArgsConstructor:无参构造函数
@Autowire:自动装配
@RunWith:测试相关类的引入
@ContextConfiguration:告知spring的容器对象,需要加载的spring配置文件的路径
@Qualifier("cat") 指定使用bean的id是cat的对象,进行装配
@Lazy ,设置懒加载
@Scope
, 设置单例,非单例
4、注入方式
(1)注解注入@Autowired
(2)setter注入
(3)构造函数注入
5、复杂的引用类型
map、list、set、properties
二、Spring MVC
1、注解
@Controller : 类的前面
@RequestMapping(url) :
类前 ,这个类的请求路径 (类中的方都属于某个路径的子路径
了), 方法前,类中的方法,可以映射为一个请求地址
@GetMapping :
只支持
get
请求方式
@PostMapping
:只支持
post
请求方式
@RequestMapping
:可以设置请求方式,不设置的话,所有请求方式都支持
@RequestParam
用于设置请求参数和
Controller
中方法的参数的对应关系。
2、重定向
(1)、return “
字符串
”
, 表示转发到一个
jsp
页面
(2)、return "forward:/
字符串
"
,表中转发到一个
Controller
中配置的请求地址
(3)、return "redirect:/
字符串
"
,表示转发到一个
Controller
中配置的请求地址
3、拦截器
(1)、implements HandlerInterceptor ,
重写方法
(2)、设置那些路径是要拦截的
(3)、设置那些路径是例外
三、MyBatis
MyBatis
是一款优秀的持久层框架,它支持自定义
SQL
、存储过程以及高级映射。
MyBatis
免除了几
乎所有的
JDBC
代码以及设置参数和获取结果集的工作。
MyBatis
可以通过简单的
XML
或注解来配置
和映射原始类型、接口和
Java POJO
(
Plain Old Java Objects
,普通老式
Java
对象)为数据库中的
记录。
mybatis
是一个数据库相关的框架,主要为了简化
jdbc
的操作
mybatis
使用了
orm
,
ORM
是对象关系映射的英文缩写
,
ORM
是一种程序技术
,
用于实现面向对象编程语
言里不同类型系统的数据之间的转换 。
1、mybatis的核心文件配置分为
(1)、
数据库连接的环境配置
(2)、
日志输出的配置
(3)、
需要加载的
mapper.xml
文件的配置
(4)、测试时一定要commit
四、Spring Boot
springBoot所有自动配置都是在启动的时候扫描并加载,Spring.factories所有的自动配置类都在这里面,但是不一定失效,要判断条件四否成立,只要导入对应的start,就有对应的启动器了,有了启动器,我们自动装配就会生效。
在配置过程中要注意url:
"jdbc:mysql://localhost:3306/crmdb?serverTimezone=Asia/Shanghai"
中的 数据库名称是否是我们想要做的那个数据库。其次就是用户名和密码是否正确。
五、Spring Boot MyBatis Plus
在 spring boot mybaits plus 中我们可以不用写SQL语句。
1、在配置文件中修改数据库的配置
2、写实体类
3、 定义数据层接口与映射配置,继承BaseMapper(里面sql语句都是写好的,我们可以直接调用)
六、Spring Boot Jpa
jpa可以通过实体类生成数据库的表,同时自带很多增删改查方法,大部分sql语句不需要我们自己写,配置完成后直接调用方法进行调试。
在创建jpa的时候 要勾选lombok,spring web和spring boot devtools。
注解
@Entity:指定当前类是实体类,对应数据库中的一个表
@Id:指定当前字段是主键
@Table:指定表名,当实体类与其映射的表名不相同时使用
@JoinColumn:
设置某一方维护关系,然后维护关系方使用
@OneToMany:一对多
@ManyToOne:多对一
@ManyToMany:多对多