- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 @SuppressWarnings注解详解
摘要:Java注解@SuppressWarnings是JDK内置的重要元注解,用于抑制编译器警告。文章详细解析了其使用方法,包括单类型/多类型警告抑制和all关键字使用。列举了常见警告类型如unchecked、deprecation等,并强调最佳实践:最小化作用范围、明确警告类型、添加注释说明和谨慎使用。该注解能提升代码可读性,但需避免滥用掩盖潜在问题。
2025-06-25 09:59:10
462
原创 @AutoConfiguration注解详解
摘要: @AutoConfiguration是Spring Boot 2.7+引入的核心注解,用于标记自动配置类,替代传统的@Configuration+spring.factories方式。其改进包括:职责分离(区分普通与自动配置类)、简化配置(通过AutoConfiguration.imports文件管理)和增强条件化加载支持。注解提供before/after等属性控制加载顺序,并配合条件注解(如@ConditionalOnClass)实现模块化配置、避免Bean冲突。典型应用包括为Starter提供默
2025-06-24 15:21:48
735
原创 @ConfigurationProperties详解
Spring Boot中的@ConfigurationProperties注解详解 摘要:@ConfigurationProperties是Spring Boot中用于将配置文件属性绑定到Java对象的重要注解。它支持类型安全配置、复杂结构绑定和属性校验,通过prefix指定配置前缀。基本用法包括定义配置类、配置文件和启用支持。高级功能涵盖嵌套对象绑定和JSR-303校验。虽然提供了集中式配置管理等优点,但不支持动态刷新是其局限。该注解通过属性匹配和类型转换机制工作,是Spring Boot配置管理的核心
2025-06-23 16:18:06
733
原创 Filter详解 带示例
Spring Filter是Spring框架中基于Servlet规范的拦截组件,用于在HTTP请求/响应流程中执行预处理和后处理逻辑。其核心特点包括模块化设计、与Spring框架无缝集成以及灵活的配置方式(注解/Java配置/XML)。典型应用场景涵盖日志记录、身份验证、跨域处理(CORS)和性能监控。Filter的生命周期包含初始化(init)、请求处理(doFilter)和销毁(destroy)三个阶段,其中doFilter方法通过FilterChain实现链式调用。示例展示了如何实现请求耗时统计和跨域
2025-06-19 16:47:20
684
原创 @EnableCaching详解
Spring框架的@EnableCaching注解用于激活缓存功能,通过减少重复计算提升应用性能。该注解支持@Cacheable(缓存结果)、@CachePut(更新缓存)和@CacheEvict(清除缓存)等操作。使用时需配置CacheManager,简单示例中使用ConcurrentMapCacheManager,生产环境可替换为Redis等。注解还支持自定义缓存键生成器、条件缓存等高级功能,通过AOP拦截方法调用实现缓存逻辑。典型应用场景包括频繁查询的数据缓存和更新时的缓存同步。
2025-06-18 13:53:44
465
原创 spring注解详细说明
Spring核心注解主要分为组件类、依赖注入、配置类、AOP、缓存和Spring MVC六大类。组件注解如@Component、@Controller、@Service和@Repository用于标记Spring管理的Bean;@Autowired、@Qualifier和@Value用于依赖注入;@Configuration、@ComponentScan和@Bean用于配置类;AOP相关注解如@Aspect、@Before等实现切面编程;@EnableCaching、@Cacheable等简化缓存操作;Sp
2025-06-16 09:23:03
757
原创 Lombok详解
Lombok 是一款简化 Java 开发的工具库,通过注解自动生成 getter/setter、构造器、toString() 等方法,显著减少样板代码。核心注解包括:@Data(组合方法生成)、@Builder(构建对象)、@Slf4j(日志)等。使用时需配置 IDE 插件,并注意可能带来的调试困难和技术债务。适合合理使用以提升效率,但需权衡代码可读性。示例展示了如何用链式调用快速构建对象并记录日志。
2025-06-16 09:16:51
762
原创 Java Maven项目 pom.xml详解
Maven项目的核心配置文件pom.xml包含项目基本信息、依赖管理、构建配置等关键元素。主要结构包括项目标识(groupId、artifactId、version)、依赖库配置(dependencies)、构建工具插件(build)以及多模块管理(modules)。通过properties定义全局变量,dependencyManagement统一版本,profiles实现环境适配,parent实现配置继承。合理配置这些元素能够有效管理项目依赖、构建流程和多模块聚合,是Maven项目构建的基础。典型应用包括
2025-06-12 17:09:48
562
原创 @Configuration 和 @AutoConfiguration区别
Spring中的@Configuration和@AutoConfiguration注解各有不同用途。@Configuration是Spring框架的基础注解,用于定义配置类并注册Bean,适用于所有Spring项目。而@AutoConfiguration是Spring Boot特有注解,用于实现自动配置,结合条件注解动态注册Bean,主要应用于Spring Boot Starter开发。前者适合通用配置,后者则专注于自动配置逻辑。两者在来源、功能和适用场景上存在明显差异,开发者应根据需求合理选择。
2025-06-11 18:15:33
622
原创 Windows 系统端口被占用解决方法
该命令会列出所有活动的网络连接及其对应的进程 ID(PID)。输出结果中最后一列的数字即为占用该端口的进程 ID(PID)。该命令会显示与该 PID 相关的进程名称。
2025-06-11 18:10:44
2178
原创 Spring注解@Configuration(proxyBeanMethods = false)
确保配置类的方法之间调用时返回同一个 bean 实例,适用于需要依赖注入和 bean 生命周期管理的场景。:不确保配置类的方法之间调用时返回同一个 bean 实例,适用于性能优化和简化配置的场景。根据具体需求选择合适的值。如果配置类的方法之间有相互依赖,建议使用true;如果没有相互依赖,可以使用false以提高性能。
2025-06-11 16:44:36
228
原创 Java 8 Stream 流详细介绍及使用指南
摘要:Java 8 Stream API通过声明式编程简化集合操作,提升代码可读性和效率。核心特点包括无存储、惰性求值和并行处理能力。Stream生命周期分为创建流、中间操作和终端操作三个阶段。创建方式多样,可从集合、数组或直接生成。中间操作如filter、map等支持链式调用,终端操作触发计算并返回结果。典型应用场景包括数据筛选、转换和聚合操作,使数据处理更简洁高效。
2025-06-10 14:55:45
930
原创 List、Set 和 Map 接口详解:功能、使用场景、优缺点及区别
Java集合框架的核心接口List、Set和Map各有特点:List是有序可重复集合,常用ArrayList(快速随机访问)和LinkedList(高效插入删除);Set是不可重复集合,包括HashSet(快速查找)、LinkedHashSet(保持顺序)和TreeSet(排序);Map存储键值对,如HashMap(高效查找)、LinkedHashMap(有序)和TreeMap(排序)。选择时需考虑元素重复性、排序需求和操作性能等因素,不同实现类在特定场景下各有优劣。
2025-06-10 09:42:45
939
原创 pdf手写签名
完美解决pdf手写签名(纯手写水印图片)首先你需要生成证书公私钥,后面pdf盖章时需要用到。public class Extension { private String oid; private boolean critical; private byte[] value; public String getOid() { return ...
2019-05-29 14:26:11
2072
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人