- 博客(64)
- 收藏
- 关注
原创 学习123
**业务服务层 (Service)** | 实现业务逻辑 | `LoginService`(通过自己的 DAO 访问数据库) | `LeaseAgreementService`(不应该直接使用 LeaseTermService 的 DAO) || **数据访问层 (DAO)** | 直接操作数据库 | `SystemUserMapper`(属于 LoginService 自己的 DAO) | `LeaseTermMapper`(属于 LeaseTermService 的 DAO) |
2025-10-28 20:07:23
426
原创 方法的参数与返回值
本文总结了方法参数和返回值的类型匹配规则:当参数为类时,需传入该类或其子类的对象;若参数为接口,则需传入该接口的实现类对象。返回值类型同理,类需返回该类或其子类对象,接口需返回实现类对象。这些规则确保了类型安全性和多态性在方法调用中的正确应用。
2025-05-29 10:33:09
149
原创 public interface IBookServive extends IService<Book> { IBookServive继承到了IService<Book>中的方法 然后在publ
2025-05-10 17:54:32
100
原创 四层之一的Model 层
合理使用这些模型类,可以实现系统的**高内聚、低耦合**,提高代码的**可维护性、可测试性和可扩展性**。| **使用工具简化转换** | 如 MapStruct、ModelMapper,提高 DTO 与 Entity 的转换效率。| **分层清晰** | DTO、VO、BO 各司其职,避免将业务逻辑混入 DTO 或 VO。- **定义**:表示具有唯一标识(ID)的业务对象,通常包含**核心业务逻辑**。- **定义**:用于在不同层之间传输数据的对象,**不包含业务逻辑**。
2025-05-05 20:02:24
724
原创 多态应用场景
多态是面向对象编程(OOP)的三大核心特性之一(封装、继承、多态),其核心思想是**同一接口,不同实现**。// 输出:Paid by WechatPay: 200。| **解耦调用与实现** | 调用者只需关注接口/抽象类,无需关心具体实现。| **灵活性高** | 运行时可根据条件动态选择不同实现,提升系统灵活性。- **说明**:通过多态,系统可以在运行时根据配置选择日志记录方式,无需修改调用逻辑。- **说明**:通过多态,UI 组件可以适配不同操作系统,而上层代码无需关心具体实现。
2025-05-05 19:30:41
411
原创 抽象类与接口的使用场景对比(结合实际案例)
在 Java 中,**抽象类(Abstract Class)** 和 **接口(Interface)** 的设计目的不同,因此它们的使用场景也各有侧重。| **接口升级(兼容旧代码)** | 接口(默认方法) | Java 8+ 允许添加默认方法而不破坏已有实现 |- **说明**:`Human` 类同时实现了 `Swimmable` 和 `Runnable` 接口,表示它既会游泳又会跑步,体现了多继承的优势。
2025-05-05 19:26:31
895
原创 实现类是否需要重写接口的所有方法
**实现类类型** | | || **方法类型** | **是否需要重写** | **说明** || 默认方法(`default`)| 可选 | 可直接使用默认实现,也可自定义 |default void breathe() { // 默认方法(无需重写)
2025-05-02 17:49:47
428
原创 继承类是否需要实现被继承类的所有方法
**父类类型** | **是否需要实现所有方法** | **说明** |子类会**自动继承父类的所有非私有方法**,可以直接使用父类的方法实现,或选择性地重写(Override)部分方法。在面向对象编程中,**继承类是否需要实现被继承类的所有方法**,取决于被继承的父类的类型和方法的性质。如果父类包含抽象方法(没有具体实现的方法),子类**必须实现这些抽象方法**,除非子类自身也声明为抽象类。
2025-05-02 17:49:16
335
原创 Druid 数据源 德鲁伊
**功能** | **说明** | **对应你的代码场景** |Druid 的核心优势在于 **监控能力** 和 **防御功能**,而 Spring Boot 默认的 HikariCP 更轻量、性能更高。
2025-05-01 17:19:06
373
原创 面向接口编程(松耦合)
*核心原则**:**调用方(如Service、测试类)只依赖接口(`BookDao`),不关心具体实现类(`BookDaoImpl`)**。**优化方案**:设计接口时应尽量前瞻,或通过**默认方法**(Java 8+)或**抽象类**提供部分实现,减少对实现类的冲击。- **如何避免接口频繁修改**:通过**开闭原则**(对扩展开放,对修改关闭),通过新增接口或组合方式扩展功能。- **你的理解正确**:面向接口编程的核心是**通过接口隔离变化**,大部分情况下只需调整实现类,无需修改接口。
2025-05-01 08:27:13
1114
原创 docker上部署redis(一主二从三哨兵)
这个命令的作用是启动一个名为iredis将主机的6381端口映射到容器的6381端口。使用自定义的配置文件。将主机上的数据目录挂载到容器的/data目录,以便持久化数据。以分离模式(后台)运行容器,使用 Redis 6.2.6 镜像。
2024-11-18 14:19:42
873
原创 创建flex容器与项目
时,它的所有直接子元素都会成为 Flex 项目,并遵循 Flexbox 布局规则。这意味着这些子元素的行为会受到父容器的 Flexbox 属性的影响。当子容器宽高超过父容器,子容器会自动适应父容器的宽高。
2024-10-28 11:54:21
176
原创 定位机制详解
属性,可以将元素从其正常位置进行偏移,但其原本占据的空间仍然保留,不会影响其他元素的布局。希望这些解释和示例能帮助你更好地理解。的元素的正常位置是指它在文档流中的默认位置,即不应用任何定位属性时的位置。
2024-10-27 22:37:54
255
原创 CSS盒模型
每个HTML元素可以视为一个矩形盒子,内容、内边距、边框、外边距内容:元素实际内容的区域 content内边距:环绕内容区域的空白空间 padding边框:包裹在内边距外部的可见线条 border外边距:围绕在边框的透明区域 margin。
2024-10-27 21:52:06
230
原创 vue3 - watch函数
复杂类型(如对象和数组)和简单类型(如字符串、数字、布尔值等)作用:侦听一个或者多个数据的变化,数据变化时执行回调函数导入watch函数执行watch函数传入要侦听的响应式数据(ref对象)和回调函数。
2024-10-25 23:43:32
452
原创 vue3 - computed计算属性函数
计算属性基本思想和Vue2的完全一致,组合式API下的计算属性只是修改了写法。2.执行函数在回调参数中return基于响应式数据做计算的值,用变量接收。计算属性应该是只读的,特殊情况可以配置getset。核心步骤: 1. 导入computed函数。比如异步请求/修改dom。1.计算属性中不应该有的操作。2.避免直接修改计算属性的值。
2024-10-25 13:31:59
246
原创 vue3 - reactive与ref (推荐:以后声明数据,统一用ref =>统一了编码规范)
在 Vue 3 中,响应式对象是通过reactive和ref函数创建的。这两个函数提供了不同的方式来创建响应式数据,每种方式都有其特定的使用场景和优缺点。下面详细介绍如何在 Vue 3 中创建和使用响应式对象。
2024-10-25 13:18:55
267
原创 vue3 - 组合式api
Vue 3 引入了组合式 API(Composition API),这是一种新的编写 Vue 组件的方式,旨在提高代码的可读性和可维护性。组合式 API 通过setup函数来组织和管理组件的逻辑,使得相关逻辑可以更好地组织在一起,而不是分散在不同的选项中(如datamethodscomputed等)。
2024-10-25 13:03:56
661
原创 @RequestMapping
是 Spring 框架中的一个注解,用于映射 Web 请求到特定的处理方法上。这个注解可以应用于类级别或方法级别,用于指定哪些 HTTP 请求应该由哪个控制器类或方法来处理。是一个非常灵活的注解,可以配合其他注解一起使用,以实现复杂的请求映射逻辑。
2024-10-21 22:53:18
220
原创 @Controller
是 Spring 框架中的一个注解,用于标记处理 Web 请求的类。它主要用于创建 Web 层的控制器类,这些类通常负责处理来自客户端的 HTTP 请求,并返回相应的视图或数据。是 Spring MVC 模块的一部分,它与视图层紧密相关。
2024-10-21 22:45:06
307
原创 @ResponseBody与@RestController
是 Spring 框架中的一个注解,,而不是作为视图名称来解析。这个注解通常用于 RESTful Web 服务,以返回 JSON、XML 或其他格式的数据给客户端。
2024-10-21 22:43:09
1025
原创 AOP用法 概念
AOP 是一种编程范式,它通过将横切关注点从业务逻辑中分离出来,提高了代码的模块化程度和可维护性。在 Java 中,Spring AOP 和 AspectJ 是两个广泛使用的 AOP 框架。通过合理应用 AOP,可以更好地组织和管理复杂的分布式系统。告诉Spring,以下通知何时何地运行?何时?@Before:方法执行之前运行。@AfterReturning:方法执行正常近回结果运行。@AfterThrowing.方法抛出异常运行。@After.方法执行之后运行何地@args。
2024-10-20 21:12:27
793
原创 JWT令牌
客户端收到JWT令牌后,将其保存在本地。每次向服务器发送请求时,在请求的头部中携带该令牌,以便服务器对请求进行身份验证。服务器收到请求后,从请求头中提取JWT令牌,并进行解析和验证。如果令牌有效,则允许请求继续执行,否则返回错误信息。用户向服务器发送登录请求,服务器进行身份验证,如果验证成功则返回一个JWT令牌给客户端。
2024-10-18 17:01:25
355
原创 (苍穹外卖)完善登录功能
将存入数据库的密码进行加密处理(MD5加密方法(单向加密))获取到前端输入的密码后,使用加密方法,再于数据库中的密码比较。
2024-10-18 16:43:17
213
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅