Spring学习
文章平均质量分 94
IUIUStar
星星在发光~
展开
-
【Spring事务学习】事务分类 && 隔离级别 && 事务传播机制
将一组操作封装成⼀个执行(封装到一起),要么全部成功,要么全部失败。比如转账分为两个操作:(1):A账户+100元;(2):B账户-100元;如果没有事务,AB两个账户是分离的,当B账户给A转账成功,B账户少了100,但是A账户却没有反应;如果使用事务,那么AB两个账户的钱数是联动的,B账户给A转账少100元与A账户增加100元这个操作,是一起成功或者失败的。原创 2023-07-31 15:50:30 · 1265 阅读 · 0 评论 -
【 Spring AOP学习二】统一功能处理:拦截器&异常&返回数据格式
Component@Override//判断是否登录:如果session为空,不去创建if(session!=null){//说明是登录状态,不进行拦截//否则说明不是登录状态,直接返回:给出提示:没有权限登录//实现WebMvcConfigurer@Autowired//重写addInterceptors方法@Override//添加拦截器//先要有一个拦截器对象:方式1:直接new出来//方式2:通过注解的方式。原创 2023-07-30 09:00:00 · 2220 阅读 · 0 评论 -
【Spring AOP学习】AOP的组成 && SpringAOP的实现和实现原理
/表示是一个切面:CSDN@Component@Slf4j//表示是一个切面:CSDN,要结合五大注解使用@Aspect//表示是一个切点:登录功能验证//方法体就是通知小Tips:切点指的是具体要处理的某一类问题:用户登录权限的验证就是一个具体的问题,也就是一个切点。(1)切面上要加@Aspect注解,结合五大注解使用:加@Component;原创 2023-07-29 09:00:00 · 254 阅读 · 0 评论 -
【代理模式】了解篇:静态代理 && 动态代理~
代理模式就是为其他对象提供一种代理以控制这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象就可以在客户端和目标对象之间起到中介的作用。类似于租房:租户和房东之间现在不直接沟通,找了中介来联系,那么中介就是代理,这种模式就是代理模式。代理模式分为静态代理和动态代理。原创 2023-07-28 16:26:18 · 692 阅读 · 0 评论 -
【MyBatis 学习三】子段不一致问题 && 多表查询 && 动态SQL
目录一、解决Java实体类属性与数据库表字段不一致问题🌷现象1:显示字段不对应:使用ResultType查询结果为null;🌷解决办法:字段不对应:使用ResultMap解决。二、数据库的多表查询🌷方式1:使用对象user 🌷方式2:直接写具体的属性三、动态SQL的使用🌷1、if标签:单个参数不确定🌷2、trim标签:多个参数不确定,搭配if标签一起使用🌷3、where标签:搭配if标签方式1:使用where关键字(注意不是where标签)方式2:使用标签🌷4、set标签:搭配if标签🌷5原创 2023-07-26 16:37:39 · 703 阅读 · 0 评论 -
【MyBatis 学习二】增删改查&& 参数占位符 #{} 和 ${}的使用
1、根据Id查询用户情况1:当只有一个参数的时候,可以加注解也可以不加。(1)不加注解:参数名可以任意:(2)加注解:@Param("uid"),xml文件也叫uid要对应。而Integer后的名字可以任意。(3)如果有多个参数:就必须加注解。2、插入数据情况1:不加注解情况2:加注解问题:怎么拿到自增Id?(1)useGeneratedKeys:这会令 MyBatis 使⽤ JDBC 的 getGeneratedKeys ⽅法来取出由数据库内部⽣成的主键(原创 2023-07-24 19:07:38 · 484 阅读 · 0 评论 -
【MyBatis 学习一】认识MyBatis && 第一个MyBatis查询
就相当于我们之前的举例:Spring是高铁,那么MyBatis就是高铁的APP订餐系统,高铁只是集成了这个订餐框架,更加方便我们的出行,没有高铁订餐系统也可以在其他平台使用,所以两者之间并没有什么关系,MyBatis可以脱离Spring使用。(2)模板文件,自定义sql语句,sql语句为查询就写select,写id和resultType,id是接口中的方法名,表示对接⼝的具体实现⽅法;yBatis提供了一个接口访问数据库,接口只是方法的定义,具体的自己要实现,主要通过xml文件实现(注解也可以实现)。原创 2023-07-24 09:56:04 · 458 阅读 · 0 评论 -
【Spring MVC学习】连接 && 接收请求参数 && 响应返回参数
Spring Web MVC是基于Servlet API构建的原始Spring框架,从一开始就包含在Spring框架中,一般我们说Spring MVC,Spring Web,Spring Web MVC都是同一个意思。MVC 是 Model View Controller 的缩写,它是软件⼯程中的⼀种软件架构模式,它把软件系统分为模型、视图和控制器三个基本部分。(早期MVC思想,现在已经不太用了。当前的MVC:更适合称为Spring Web,因为现在很多项目都使用了前后端分离的思想。原创 2023-07-22 20:24:59 · 1436 阅读 · 0 评论 -
【Spring Boot学习二】日志文件
🌷1、自定义输出日志很简单,代码出Bug了,第一时间肯定是看日志观察报错信息呀~就像去医院看病,不知道是什么病,就先去拍个片子,才能找症状所在。所以日志的作用就是:发现和定位问题。(1)日志没有持久化(所以要保存在硬盘上)⽇志默认是打印在控制台上的,⽽控制台的⽇志是不能被保存的。(2)日志没有详细的信息。SpringBoot为什么能打印日志,是因为Spring Boot 内置了⽇志框架(不然也输出不了⽇志))🌷1、自定义输出日志。原创 2023-07-21 10:19:55 · 202 阅读 · 0 评论 -
【Spring Boot学习一】创建项目 && Spring Boot的配置文件
在创建好项目之后,会自动生成一个主函数,我们运行一下,成功了才真正说明我们这个项目创建成功了。在网址输入:注意:在学习Spring Boot的时候,最大的一个感受就是:最难的不是写代码,而是配置环境。后来经过一定的学习又感受到,在Spring Boot阶段,最重要的一个准则就是:约定大于配置!比如,在上面测试项目是否创建成功,就是Spring Boot约定大于配置的一个体现。因为我们在之前的原生项目中,将bean交给Spring管理,需要在xml文件中配置扫描路径,而在Spring Boot中,原创 2023-07-19 19:57:48 · 1528 阅读 · 1 评论 -
【Spring core学习四】Bean作用域和生命周期
UserService类:UserController1类:修改姓名UserController2类:执行结果:分析: 公共 Bean,A ⽤户使⽤时,进⾏了修改操作,B ⽤户再去使⽤公共 Bean 的时候,获取到的是被修改的值。操作以上问题的原因是因为 Bean 默认情况下是单例状态(singleton),也就是所有⼈的使⽤的都是同⼀个对象,使⽤单例可以很⼤程度上提⾼性能,在Spring 中Bean 的作⽤域默认也是 单例模式。原创 2023-07-18 21:56:44 · 979 阅读 · 0 评论 -
【Spring core学习三】对象装配:获取Bean对象的四种方式
(3)@Autowired 可⽤于 Setter 注⼊、构造函数注⼊和属性注⼊,⽽ @Resource 只能⽤于 Setter 注⼊和属性注⼊,不能⽤于构造函数注⼊。但是对于下面这种情况:一个User类中有两个对象,这个时候满足上述条件2,就不能随意起名了,这里的名字要和对象名匹配,否则就会报错,显示不匹配。对象装配:获取bean对象也叫作对象装配,是将对象取出来放在某个类中,有时候也叫对象注入。对象装配的实现方式有三种:属性注入、构造方法注入、Setter注入,还有一个额外的@Resource注入。原创 2023-07-14 19:27:27 · 798 阅读 · 0 评论 -
【Spring core学习二】创建Spring 项目 && Spring的存
在resources文件下,新建一个xml文件名为“spring-config.xml”,写入以下代码(下面的代码就是对xml文件的一个声明)原创 2023-07-14 14:58:34 · 642 阅读 · 0 评论 -
【Spring core学习一】简单认识Spring是什么?
我们常说的Spring 指的是 Spring Framework(Spring 框架),它是⼀个开源框架。学习框架就相当于从一个“小作坊”到“工厂”的升级,小作坊什么都要自己做,工厂是已经将基本器件配备好了,所以使用更加方便高效。在这里,我们之前使用Servlet的方式就相当于“小作坊”,Spring就相当于“工厂”。理解Servlet和Spring的区别?(1)创建方式上(2)URL地址上(3)在新增一个路径上(4)doGet与doPost方法上(5)引入数据库的方式。原创 2023-07-12 15:51:33 · 477 阅读 · 0 评论