- 博客(68)
- 收藏
- 关注
原创 Velocity 模板引擎使用介绍
end// 使用工具类HELLO} } // 配置 Velocity 引擎使用自定义处理器 velocityEngine . setProperty("eventhandler.referenceinsertion.class" , "com.example.CustomReferenceHandler");
2024-08-23 02:13:05 904
原创 【Java 】常见的几种线程创建方式
继承Thread类:适用于需要扩展Thread类功能的情况。实现Runnable接口:适用于需要实现多个接口的情况。匿名内部类:适用于简单的任务,不需要创建单独的类。Lambda表达式:适用于简单的任务,代码更加简洁。Callable接口和Future:适用于需要返回结果的任务。线程池:适用于需要管理和重用线程的情况。通过这些方式,可以灵活地创建和管理线程,以满足不同的需求。希望这些示例和解释能帮助你更好地理解和使用Java多线程编程。
2024-08-11 16:37:27 358
原创 【Java】 多线程编程讲解
线程是程序执行的最小单位,一个进程可以包含多个线程,每个线程可以执行不同的任务。线程之间共享进程的资源,但每个线程都有自己的执行栈和程序计数器。Java 多线程编程是一个复杂但非常强大的工具。通过线程,你可以实现并发任务,提升程序的效率。然而,线程带来的并发问题(如死锁、资源竞争等)也是编程中需要特别注意的部分。掌握线程的基本操作、同步方法和高级并发工具,可以让你在开发高性能应用程序时得心应手。
2024-08-11 16:20:18 861
原创 【Java】使用 Apache Commons IO 库简化文件操作
文件和目录操作文件内容的读取和写入文件过滤器和比较器IO 缓冲区和数据处理文件和流的复制和移动Apache Commons IO 提供了一系列强大的工具类,简化了 Java IO 操作。通过FileUtilsIOUtils和等类,开发者可以高效地处理文件和流操作,避免编写冗长和重复的代码。这些工具类不仅提高了代码的可读性和可维护性,还提升了开发效率。
2024-08-11 15:44:32 478
原创 【Java】文件 IO 操作
Java IO 是一个功能强大的工具集,涵盖了从基本的文件操作到复杂的网络通信等各个方面。掌握 Java IO 是成为高级 Java 开发者的重要步骤。通过理解字节流、字符流、缓冲流、数据流、对象流以及 NIO 的使用,你可以高效地进行各种数据处理任务。
2024-08-11 15:28:59 896
原创 【Java】匿名内部类的使用详解
匿名内部类是Java中的一种局部内部类,它没有显式的类名,通常用来实现接口或者继承一个类并重写其方法。匿名内部类是一个表达式,它创建了一个新的类的实例,并在声明时进行初始化。匿名内部类在Java中是一个强大的工具,它们允许开发者在不创建命名类的情况下实现接口或扩展类,简化了许多常见的编程任务。然而,随着Java 8及更高版本的引入,Lambda表达式和方法引用提供了更为简洁和现代的替代方案。匿名内部类用于实现接口或扩展类,适合用于一次性实现。
2024-08-09 13:50:59 1503
原创 【Java】 final关键字的使用
变量final变量是常量,一旦赋值后不能改变。方法final方法不能被子类重写。类final类不能被继承。局部变量final局部变量在初始化后不能改变。参数final参数在方法内不能被重新赋值。
2024-08-09 12:59:55 249
原创 【Java】面向对象之抽象类详解
抽象类使用abstract关键字进行声明。一个类只需要包含一个抽象方法,该类就必须被定义为抽象类。// 实例变量// 构造函数// 抽象方法(没有方法体)// 具体方法(有方法体)// getter 方法抽象类是Java中定义抽象行为和实现模板的重要工具。通过抽象类,可以为子类提供通用行为、定义算法框架以及实现模块化的设计。理解和使用抽象类对于构建灵活和可扩展的Java应用程序至关重要。抽象类使用abstract关键字声明,不能直接实例化。
2024-08-09 12:52:23 928
原创 【Java】面向对象之接口详解
在 Java 中,接口是一种抽象类型,用interface关键字定义。接口只包含方法签名(即方法的声明,不包括方法体)和常量(默认修饰)。实现接口的类必须实现接口中定义的所有方法。// 接口中的常量// 等同于 public static final int AGE = 5;// 抽象方法void eat();// 等同于 public abstract void eat();Java 中的接口是定义抽象方法和行为规范的重要工具。通过接口,可以实现多态、解耦和灵活的代码设计。
2024-08-09 12:44:20 808
原创 【Docker】搭建 Docker 私有化仓库
通过本文的介绍,你应该已经掌握了搭建 Docker 私有化仓库的基本步骤和配置方法。无论是使用官方的 Docker Registry 镜像,还是更强大的 Harbor 或 GitLab Container Registry,私有化仓库都能为你的镜像管理带来更高的安全性和效率。
2024-08-02 18:19:54 1137
原创 【Docker】 Docker Compose 文件编写
services部分用于定义应用程序中的各个服务(容器)。volumes部分用于定义全局数据卷,以便服务挂载和共享数据。volumes:db_data:app_data:networks部分用于定义自定义网络,以便服务之间通信。
2024-08-02 18:13:47 1448
原创 【Docker】Dockerfile 文件编写
编写 Dockerfile 是创建 Docker 镜像的核心步骤。Dockerfile 是一个文本文件,其中包含了构建镜像所需的一系列指令和配置。在本文中,我们将详细介绍 Dockerfile 的编写,包括其基本结构、常用指令、优化技巧和示例。
2024-08-02 18:07:36 1561
原创 【Docker】常用命令
以上列出了 Docker 及 Docker Compose 中常用的命令,这些命令覆盖了 Docker 日常使用中的大部分场景。从容器管理、镜像处理、数据卷、网络配置到系统管理,每个命令都提供了丰富的选项,以满足不同的需求。希望这些命令的详细介绍能帮助你更好地理解和使用 Docker。
2024-08-02 16:51:23 1027
原创 【Docker】在 CentOS 上安装 Docker
在 CentOS 系统上安装 Docker 并配置国内镜像源,可以帮助你更快地下载 Docker 镜像。
2024-08-02 16:33:43 311
原创 【Spring Cloud】Spring Cloud Gateway 网关介绍
Spring Cloud Gateway 是 Spring Cloud 生态系统中的官方 API 网关解决方案。它构建在 Spring Framework 5、Spring Boot 3 和 Project Reactor 之上,旨在为现代微服务架构提供动态路由、监控、弹性、请求限流、路径重写、过滤等功能。Spring Cloud Gateway 是为了替代 Zuul 的下一个代替方案,具备非阻塞、异步的特性,能够处理高并发的请求。
2024-08-02 13:22:39 969
原创 【Spring Cloud】Eureka 和 Nacos 服务注册与发现工具对比分析
Eureka是 Netflix 开源的一款服务注册与发现组件。它是 Spring Cloud Netflix 项目的一部分,为微服务架构中的服务注册和发现提供解决方案。Eureka 的核心组件包括和。:用于注册微服务实例,提供服务注册表和服务信息查询功能。:在应用程序启动时将自身注册到 Eureka Server,并定期发送心跳信号以续约注册。Nacos是阿里巴巴开源的一款动态服务发现、配置管理和服务管理平台。它集成了服务注册、服务发现、配置管理等功能,为微服务架构提供全面支持。服务注册与发现。
2024-08-01 16:11:05 525
原创 【Spring Cloud】微服务开发框架简单介绍与使用示例
通过上述示例,我们创建了一个简单的 Spring Cloud 微服务架构,包括服务注册与发现、配置中心、服务提供者、服务消费者和网关等组件。每个微服务可以独立开发和部署,并通过 Eureka 进行注册和发现。Spring Cloud 提供了一整套解决方案来管理和优化微服务架构中的常见问题,帮助开发者构建更稳定、高效的微服务应用程序。随着业务需求的增加,您可以根据具体需求进一步扩展微服务架构,并结合 Spring Cloud 的其他功能来满足更多复杂场景下的开发需求。
2024-08-01 15:59:13 832
原创 【Java】springBoot + spring mvc + mybatisPlus 结合使用完整示例
本示例展示了如何在 Spring Boot 项目中集成 MyBatis-Plus,并实现基本的 CRUD 操作、分页查询等功能。MyBatis-Plus 提供了强大的插件支持,简化了常见数据库操作的实现过程。在实际应用中,可以根据业务需求进一步扩展和优化。
2024-08-01 01:22:29 523
原创 【mybatis Plus】简单介绍
在介绍 MyBatis-Plus 之前,我们简单了解一下 MyBatis。MyBatis是一个持久层框架,主要通过 XML 或注解的方式将 SQL 语句与 Java 对象关联。它对 JDBC 进行了封装,使得我们能够更方便地对数据库进行操作。SQL 的映射:通过 XML 或注解将 SQL 语句映射到 Java 对象。动态 SQL:通过提供动态 SQL 标签,实现 SQL 语句的动态拼接。高级查询功能:包括分页、缓存、事务管理等。
2024-08-01 01:11:29 731
原创 【Spring Boot】介绍及简单使用
Spring Boot 是一个开源的框架,用于简化 Spring 应用的创建和开发。它是由 Pivotal 团队开发的,旨在通过提供一套预配置的默认设置,减少开发人员的工作量,使得 Spring 应用的开发、测试和部署变得更加简单和快速。Spring Boot 极大地简化了 Spring 应用的开发和部署,使开发人员能够专注于业务逻辑的实现,而无需过多关注底层的配置和依赖管理。通过提供自动配置、独立运行、生产级别的准备和丰富的社区支持,Spring Boot 已成为现代 Java 开发的重要工具。
2024-07-31 12:40:00 699
原创 【Java】ssm(spring + spring MVC + mybatis)整合
通过以上步骤,我们创建了一个简单的 Web 应用程序,演示了如何使用 Spring、Spring MVC 和 MyBatis 构建应用程序。该示例展示了基本的 CRUD 操作、参数校验、拦截器的使用和全局异常处理的实现。你可以在此基础上扩展应用程序,例如增加用户身份验证和授权功能、添加更多的业务逻辑等。
2024-07-31 00:56:35 316
原创 【Spring MVC】使用 Java 类配置 Spring MVC
在 Spring MVC 中,使用来替代传统的 XML 配置是一种现代且常见的配置方式。通过这种方式,我们可以使用 Java 类和注解来配置 Spring MVC 的各个组件,如 DispatcherServlet、ViewResolver、Controller 等。这种方式使得代码更加简洁和类型安全。
2024-07-30 01:31:51 485
原创 【Spring MVC】基本原理和工作流程
负责接收并分派请求,是整个框架的核心。:负责将请求映射到处理器(Controller)。Controller:处理业务逻辑并返回模型数据和视图信息。:对请求处理器进行适配,以便于调用。:将逻辑视图名解析为具体的视图实现。View:负责渲染模型数据,将结果返回给客户端。通过以上示例,我们可以看到 Spring MVC 的核心工作流程和组件如何协作完成一个完整的请求处理过程。在开发过程中,我们可以根据需要扩展和定制各个组件,以适应具体的业务需求。
2024-07-28 16:12:57 1558
原创 【Mybatis】 进阶特性
import org// 执行原方法 System . out . println("After SQL Execution");// 读取配置文件中的属性 System . out . println("Plugin Properties: " + properties);} }// 执行原方法 System . out . println("After SQL Execution");
2024-07-28 15:12:28 433
原创 【Mybatis】返回值类型和参数传递-补充
除了自动映射结果,MyBatis 还支持自定义结果映射,通过resultMap进行复杂的映射操作。
2024-07-27 14:26:22 1292
原创 【Mybatis】知识点总结
MyBatis 是一个持久化框架(persistence framework),它简化了对数据库的访问,同时又保留了对 SQL 的控制。它在数据持久化的过程中,避免了大量的 JDBC 代码以及手动设置参数和获取结果的繁琐步骤。相比于 Hibernate 等全自动 ORM 框架,MyBatis 更轻量级且灵活,特别适用于需要手写复杂 SQL 的场景。接下来,我们将详细介绍 MyBatis 的各个方面。目录MyBatis 简介MyBatis 的基本概念MyBatis 配置文件Mapper 文件Ma
2024-07-27 14:23:31 2442
原创 【MyBatis】mybatis的使用及与spring的集成
SQL 语句的复用和组织:通过 XML 或注解来定义 SQL。动态 SQL:支持在 SQL 中使用动态逻辑。自动映射:结果集可以自动映射到 Java 对象。灵活性:允许使用原始 SQL,适用于需要精确控制的数据库操作。缓存支持:支持一级缓存和二级缓存。MyBatis 是一个轻量级的持久化框架,提供了对 SQL 的良好支持和灵活性。基本配置和使用XML 和注解方式的配置与 Spring 的集成Spring Boot 环境中的使用。
2024-07-27 11:49:33 321
原创 【Spring Framework】Spring 事务使用的完整示例
配置:数据库连接和事务管理器的配置可以使用 Java 配置或 XML 配置,根据项目需求选择合适的方式。实体类:定义了与数据库表映射的 Java 类。DAO 层:负责具体的数据库操作,如创建、读取、更新和删除(CRUD)操作。服务层:封装业务逻辑,并通过注解来管理事务。测试:验证事务管理是否按预期工作,测试正常情况下和异常情况下的事务回滚行为。通过上述示例,您可以清楚地了解如何在 Spring 框架中配置和使用事务管理。
2024-07-26 22:32:46 269
原创 【Spring Framework】 Spring 事务管理
Spring 事务管理提供了一种灵活、强大的方式来管理应用程序中的事务。通过使用 Spring 事务,开发者可以轻松地实现数据的一致性和完整性。无论是编程式事务管理还是声明式事务管理,Spring 都能很好地支持各种场景的事务需求。在实际项目中,开发者应根据业务需求合理选择事务传播行为、隔离级别和事务管理器,以实现高效的事务管理。
2024-07-26 22:32:19 420
原创 【Spring Framework】Spring AOP 常用案例
通过这些常见的 Spring AOP 案例,我们可以看出 AOP 的强大和灵活性。Spring AOP 通过将横切关注点从业务逻辑中分离出来,实现了代码的模块化、解耦和可重用性,提升了应用程序的可维护性和扩展性。这些案例展示了如何利用 AOP 解决日志记录、事务管理、权限控制、性能监控、缓存管理、访问控制、数据验证和应用程序配置等常见问题。在实际应用中,可以根据需要灵活调整和扩展这些功能,为应用程序带来更高效的开发体验和更出色的性能表现。
2024-07-26 19:29:02 675 1
原创 【Spring Framework】Spring AOP 面相切面编程
定义一个简单的用户服务接口定义一个切面类import org// 定义切点,匹配com.example.service包及其子包下的所有方法 @Pointcut("execution(* com.example.service..*(..))") public void serviceLayer() {
2024-07-26 19:18:32 890
原创 【Java】泛型动态代理工厂使用案例
我们定义一个简单的用户服务接口和它的实现类,作为我们的动态代理目标。// 定义用户服务接口// 实现接口的具体类@OverrideSystem.out.println("添加用户: " + name);@OverrideSystem.out.println("删除用户: " + name);@Overridereturn "找到用户: " + name;通过使用 Java 的动态代理和泛型,我们能够创建一个灵活的代理工厂,支持自动获取目标对象的接口类型,从而简化代理对象的创建过程。
2024-07-26 14:19:56 264
原创 【Java】动态代理技术
静态代理:在编译期确定代理类,即我们需要手动编写代理类。在这种情况下,代理类与目标类需要实现相同的接口。虽然静态代理能够增强方法,但它不够灵活,因为每次新增接口或方法都需要编写新的代理类。动态代理:在运行时动态创建代理类。Java动态代理主要基于接口进行代理,使用类和接口。动态代理通过反射机制实现,不需要手动编写代理类,能够动态地为接口生成代理类。// 定义用户服务接口// 实现接口的具体类@OverrideSystem.out.println("添加用户: " + name);
2024-07-26 14:14:33 892
原创 【Spring Framework】使用完全注解方式开发
本文介绍了如何使用 Spring 完全注解化的方式来进行开发。通过使用注解,我们可以减少 XML 配置文件的使用,使项目的配置更加直观和简洁。配置类:使用@Bean等注解定义配置类。数据库配置:使用DataSource以及@Autowired自动装配数据源。服务层和控制器层:使用@Service和注解定义业务逻辑和控制器,并使用@Autowired注入依赖。AOP 和事务管理:通过@Aspect和注解实现日志记录和事务管理。
2024-07-26 00:55:46 1103
原创 【Spring Framework】MySQL 数据库连接配置
XML 配置:适用于传统项目,使用 XML 文件配置数据源和 JdbcTemplate。Java 注解配置:更现代化的方法,使用 Java 配置类来定义数据源和 JdbcTemplate。Spring Boot 自动配置:最简便的方式,利用 Spring Boot 的自动配置功能,通过配置文件定义数据库连接。每种方式都有其适用的场景,选择合适的配置方式可以提高开发效率和代码可维护性。通常,现代应用程序会倾向于使用 Spring Boot 的自动配置以简化开发流程。
2024-07-26 00:06:05 1256
原创 【Spring Framework】 用XML配置文件配置FactoryBean
是 Spring 框架提供的一个特殊的 Bean 接口,它允许在 Bean 实例化过程中插入自定义的逻辑。通过实现接口,你可以控制如何创建某个对象的实例,并将其提供给 Spring 容器。创建复杂对象的实例动态代理对象的创建延迟实例化对象条件实例化对象:返回由创建的 Bean 实例。Class<?:返回由创建的 Bean 类型。:指示由创建的 Bean 是否为单例。首先,定义一个简单的Car// 构造函数// Getter 和 Setter 方法。
2024-07-25 17:53:11 819
原创 【Spring Framework】使用XML配置文件配置Bean的实例化方式
无参构造函数: 最简单的方法,适用于基本的 bean 实例化。有参构造函数: 适合需要依赖注入的 bean。静态工厂方法: 用于复杂的实例化逻辑。实例工厂方法: 通过实例化工厂类来创建 bean。自定义构造函数参数: 支持复杂的 bean 配置。@Bean注解: 在 Java 配置类中使用,用于创建 bean 实例。选择合适的实例化方式可以帮助更好地管理 bean 的生命周期和依赖关系。
2024-07-25 16:47:20 774 1
原创 【Spring Framework】使用XML配置文件定义Bean及其依赖注入方式
Spring XML 配置文件主要用于描述应用程序的组件、组件间的关系以及配置组件的属性。在早期的 Spring 开发中,XML 配置文件是定义 Spring 应用程序上下文的主要方式。Bean 定义:声明应用程序中使用的 Java 对象。依赖注入:配置 Bean 之间的依赖关系。作用域设置:定义 Bean 的生命周期和范围。生命周期回调:定义 Bean 初始化和销毁时的回调方法。属性配置:加载外部属性文件并配置 Bean 属性。
2024-07-25 16:46:42 558
原创 【Spring Framework】使用 XML 配置文件的使用方法
Spring Framework 的 XML 配置提供了强大的灵活性和控制能力,尽管现代开发中更多使用注解和 Java 配置,但了解 XML 配置仍然对维护旧项目和理解 Spring 的核心机制非常有帮助。通过 XML 配置,你可以定义和管理 Spring 容器中的 bean、配置依赖注入、设置 AOP、事务管理等。
2024-07-25 16:33:30 469 1
原创 【Jackson】注解及其使用
Jackson库中的注解可以帮助你灵活地控制JSON数据的序列化和反序列化过程。通过合理使用这些注解,你可以实现字段重命名、忽略字段、设置字段包含策略、处理日期格式、定义自定义序列化和反序列化逻辑、解决循环引用问题、多态处理等功能。这些功能使得Jackson在处理复杂JSON数据时非常强大和灵活。
2024-07-25 13:03:12 648
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人