JavaEE进阶
文章平均质量分 91
Spring和mybatis框架学习,以及案例实现,最终完成多个项目开发
chlorine5
脚下的路更重要,我要开始与自己赛跑了
展开
-
【JavaEE进阶】——Spring事务和事务传播机制
可重复读(REPEATABLE READ): 事务不会读到其他事务对已有数据的修改, 即使其他事务已提交. 也就可以确保同⼀事务多次查询的结果⼀致, 但是其他事务新插⼊的数据, 是可以感知到的. 这也就引发了幻读问题. 可重复读, 是 MySQL 的默认事务隔离级别.如果其中一个出现异常,那么都回滚,只有都执行成功,那么事务提交。register事务可以认为是⽗事务, 嵌套事务是⼦事务. ⽗事务出现异常, ⼦事务也会回滚, ⼦事务出现异常, 如果不进⾏处理, 也会导致⽗事务回滚。原创 2024-07-20 23:35:22 · 1170 阅读 · 0 评论 -
【JavaEE进阶】——Spring AOP 实现原理
从上述程序可以看出, 虽然静态代理也完成了对⽬标对象的代理, 但是由于代码都写死了, 对⽬标对象的每个⽅法的增强都是⼿动完成的,⾮常不灵活. 所以⽇常开发⼏乎看不到静态代理的场景.为其他对象提供⼀种代理以控制对这个对象的访问. 它的作⽤就是通过提供⼀个代理类, 让我们在调⽤⽬标⽅法的时候, 不再是直接对⽬标⽅法进⾏调⽤, ⽽是通过代理类间接调⽤.(Proxy). 同样的, 如果有新增接⼝(Subject)和业务实现类(RealSubject), 也需要对每⼀个业务实现类新增代理类 (Proxy)。原创 2024-07-20 16:11:18 · 764 阅读 · 0 评论 -
【JavaEE进阶】——Spring AOP
这种⽅法是可以解决问题的, 但⼀个项⽬中会包含很多业务模块, 每个业务模块⼜有很多接⼝, ⼀个接⼝ ⼜包含很多⽅法, 如果我们要在每个业务⽅法中都记录⽅法的耗时, 对于程序员⽽⾔, 会增加很多的⼯作量。当我们在⼀个项⽬中, 定义了多个切⾯类时, 并且这些切⾯类的多个切⼊点都匹配到了同⼀个⽬标⽅法.当⽬标⽅法运⾏的时候, 这些切⾯类中的通知⽅法都会执⾏, 那么这⼏个通知⽅法的执⾏顺序是什么样的呢?标识的通知⽅法包含两部分, ⼀个"前置逻辑", ⼀个"后置逻辑". 其中"前置逻辑" 会先于 @Before。原创 2024-07-19 23:36:22 · 765 阅读 · 0 评论 -
【JavaEE进阶】——SpringBoot 统⼀功能处理
⼀般来说,适配器模式可以看作⼀种"补偿模式",⽤来补救设计上的缺陷. 应⽤这种模式算是"⽆奈之举", 如果在设计初期,我们就能协调规避接⼝不兼容的问题, 就不需要使⽤适配器模式了 ,所以适配器模式更多的应⽤场景主要是对正在运⾏的代码进⾏改造, 并且希望可以复⽤原有代码实现新的功能. ⽐如版本升级等.⽅法, 这个⽅法需要返回⼀个布尔类型的值. 如果返回true, 就表⽰放⾏本次操作, 继续访问controller中的 ⽅法. 如果返回false,则不会放⾏(controller中的⽅法也不会执⾏).原创 2024-07-15 21:31:24 · 1168 阅读 · 0 评论 -
【JavaEE进阶】——利用框架完成功能全面的图书管理系统
🚩项目所需要的技术栈该项目是一个针对于的基础运用项目适合初学者来检验水平测试能力,该项目所需技术栈如下::作为项目的框架,使用Maven托管代码* Mybatis:使用Mybatis框架操纵数据库,其中使用了xml和注解两种方式去操作数据库* 前端ajax:前后端的交互使用的是ajax作为前端为后端发送数据以及接收数据* 项目分层。原创 2024-06-12 18:08:08 · 1891 阅读 · 1 评论 -
【JavaEE进阶】——MyBatis操作数据库 (#{}与${} 以及 动态SQL)
#{}与${} 以及 动态SQL,各类标签使用原创 2024-06-02 22:37:25 · 1236 阅读 · 0 评论 -
【JavaEE进阶】——Mybatis操作数据库(使用注解和XML方式)
从上述的操作流程中可以看出,对于JDBC来说,整个操作非常的繁琐,不但要拼接每一个参数,而且还要按照模板代码的方式,一步步的操作数据库,并且在每次操作完,还要手动关闭连接等,而所有的这些操作步骤都需要在每个方法中重复书写,那有没有一种方法,可以更简单,更方便的操作数据库呢?此步骤需要进⾏两项设置,数据库连接字符串设置和 MyBatis 的 XML ⽂件配置。我们看到,配置日志文件后,我们就可以观察到,sql语句的执行,以及执行结果,每一行都标注的清清楚楚,并且标注影响的行数。原创 2024-06-01 18:45:26 · 1180 阅读 · 0 评论 -
【JavaEE进阶】——带你详细了解Spring日志以及配置日志
举个例子:我们进家门,我是一个比较怕黑的女生,我一进家门都是需要开灯的,等我一进门我需要先打开客厅的灯,然后打开厨房的灯,然后打开卧室的灯,一步一步的打开灯,然是如果形象化的理解门面模式,那就是我一进家门只用一个开关就打开了所有的灯,因为这个开关连接着各个灯的,所以这个开关就是提供的一个统一的接口,然后通过这个接口来访问系统的一段接口,方便了我们,也让子系统更容易的使用,不用我跑到厨房然后跑到卧室去开灯了,大大提升了开发效率,也简短了代码量。它通常用于需要在依赖注入完成后进行一些初始化工作的场景。原创 2024-05-31 20:50:33 · 958 阅读 · 0 评论 -
【JavaEE进阶】——要想代码不写死,必须得有spring配置(properties和yml配置文件)
文件配置的格式有两种,严格的说是三种,但是yml和properties配置文件都可以 ,只是语法格式不同,优先级不同,我们在不同的场景使用哪个配置文件是可供选择的。如果采⽤硬编码的⽅式, 就直接在程序中指定字体⼤⼩, 所有的⽤⼾使⽤的都是同⼀个字体⼤⼩ ,但是不同的⽤⼾有不同的偏好, 我们可以把⼿机字体的⼤⼩放在配置⽂件中, 当程序启动时, 读取配置, 以⽤⼾设置的字体⼤⼩来显⽰。我们从下面图片可以看出,单引号和不加单双引号就表示转义字符,而加上双引号表示的是转义字符对应的表示的意思(换行)。原创 2024-05-27 21:09:02 · 630 阅读 · 0 评论 -
【JavaEE进阶】——一万字带你深刻理解Spring IoC&DI
我们发现了⼀个规律,通⽤程序的实现代码,类的创建顺序是反的,传统代码是 Car 控制并创建了 Framework,Framework 创建并创建了 Bottom,依次往下,⽽改进之后的控制权发⽣的反转,不再 是使⽤⽅对象创建并控制依赖对象了,⽽是把。在上⾯的程序中, 我们是根据轮⼦的尺⼨设计的底盘,轮⼦的尺⼨⼀改,底盘的设计就得修改. 同样因为我们是根据底盘设计的⻋⾝,那么⻋⾝也得改,同理汽⻋设计也得改, 也就是整个设计⼏乎都得改。我们创建下项目默认的启动类都是在最大的包中,如果我们调动启动类的位置。原创 2024-05-25 21:06:29 · 955 阅读 · 0 评论 -
【JavaEE进阶】——Spring Web MVC (响应)
RestController包含了@Controller和@ResponseBody,如果我们想返回视图就加上@Controller,如果我们想返回视图我们需要在@Controller的基础上加上@ResponseBody注解,因为@RestController是包含了@Controller和@ResponseBody注解,只有@RestController才能返回数据信息。@Controller是类注解,能让spring管理着这个类,需要访问的时候,我们就可以访问。原创 2024-05-24 18:47:41 · 1026 阅读 · 0 评论 -
【JavaEE进阶】——Spring Web MVC (请求)
在计算机领域, 会话是⼀个客⼾与服务器之间的不中断的请求响应. 对客⼾的每个请求,服务器能够识别出请求来⾃于同⼀个客⼾. 当⼀个未知的客⼾向Web应⽤程序发送第⼀个请求时就开始了⼀个会话.当客⼾明确结束会话或服务器在⼀个时限内没有接受到客⼾的任何请求时,会话就结束了。服务器同⼀时刻收到的请求是很多的. 服务器需要清楚的区分每个请求是从属于哪个⽤⼾, 也就是属于哪个会话, 就需要在服务器这边记录每个会话以及与⽤⼾的信息的对应关系.,使用基本类型的话,我们必须要在请求中传值,不传的话就会报错。原创 2024-05-23 01:43:08 · 1073 阅读 · 0 评论