程序开发 Spring 基于 xml 方式的 bean 的配置 一、简介 spring 可以通过读取 xml 配置文件的方式,生成 bean 实例对象。 现有如下 beans.xml 配置文件和实体类与接口。 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/be...
程序开发 Jackson 常用注解 一、 Read+Write注解 Jackson包含一组注解,这些注解会影响从 JSON 读取 Java 对象以及将 Java 对象写入 JSON,这些称为 Read + Write 注解。 1. @JsonIgnore @JsonIgnore 用于告诉 Jackson 忽略 Java 对象的某个属性(字段)。 在将 JSON 读取到 Java 对象中以及将 Java 对象写入 JSON 时,都将忽...
程序开发 为什么 java 里面的布尔类型的字段不建议 is 开头 阿里开发手册里面强制规定,布尔类型的数据,无论是 boolean 还是 Boolean 都不准使用 isXXX 来命名,要理解为什么,首先要明确以下几点: 对于非 boolean 类型的参数,getter 和 setter 方法命名的规范是以 get 和 set 开头 对于 boolean 类型的参数,setter 方法是以 set 开头,但是 getter 方法命名的规范是以 is 开头 包装类...
程序开发 Springboot 配置 https 前言 Spring Boot 本身是一个 Java 应用程序框架,它可以内嵌一个嵌入式的 Web 服务器(如 Tomcat、Jetty 等),用于处理客户端请求。它默认使用的是 Java Keystore(JKS)格式的证书文件,用于配置内嵌的 Web 服务器的 SSL/TLS 加密。 JKS 是一种密钥库格式,用于在 Java 平台上存储密钥和证书,它可以包含一个或多个密钥对以及与这些密钥对关联...
程序开发 Springboot 打包出来的 jar 很小不能启动 这种情况大概率是因为资源没有打包进去,在 pom 文件引入 maven 插件: <build> <finalName>${project.artifactId}</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> &l...
程序开发 Spring Security 详解以及认证过程 简介 Spring Security 是基于 Spring 实现的一个安全框架,其中包括非常多的过滤器,主要进行攻击防护、认证授权等功能。 过滤器链 Spring Security 常用的过滤器有15个,如下图所示: 在 FilterChainProxy 类中的 doFilterInternal 方法打断点可以看见。 1.org.springframework.security.web.conte...
程序开发 WebSecurityConfigurerAdapter 详解 简介 WebSecurityConfigurerAdapter 是 Spring Security 中的一个抽象类,实现了WebSecurityConfigurer接口,用于配置 Spring Security 的安全性设置。 类图如下: 通过继承WebSecurityConfigurerAdapter并覆盖其中的方法,可以自定义应用程序的安全性配置。 常用配置 下面贴一下WebSecurityC...
程序开发 Stream 流用法详解 简介 Stream 是 Java 8 引入的一个功能强大的流式处理 API。它允许我们以声明性的方式操作集合(数组、集合等)的元素。通过使用 Stream,我们可以将多个操作连接起来,形成一个流水线,从而简化代码并提高可读性。 Stream 类中包含的方法,可以进行数据筛选、转换、排序、去重、限制、跳过、归约、统计、匹配、查找和遍历等操作。 数据筛选和转换: filter(Predicate<...
程序开发 工具类 Optional 用法详解 Optional 类是 Java 8 中引入的一个用于避免空指针异常的工具类,请注意它是 java.util 包下的一个工具类。 它提供了一系列方法,用于对可能为 null 的对象进行操作,以便更加安全地访问对象的属性和方法。 Optional 里面几乎全部都围绕其中的一个成员变量 value 在运作。 下面是 Optional 类中常用的方法及其用法: of 方法 创建一个包含指定对象的 Opt...
程序开发 50 个 Java 编程技巧 一、语法类技巧 1.1. 使用三元表达式 普通: String title; if (isMember(phone)) { title = "会员"; } else { title = "游客"; } 精简: String title = isMember(phone) ? "会员" : "游客"; 1.2.利用 fo...
程序开发 Java 彻底理解两种动态代理 在 java 中,有两种常见的动态代理实现方式,即基于接口的动态代理(JDK 动态代理)和基于类的动态代理(CGLIB 动态代理),下面就对这两种代理进行解释和举例。 1. JDK动态代理 这种动态代理实现方式是基于接口的,使用 java.lang.reflect.Proxy 类和 java.lang.reflect.InvocationHandler 接口来创建代理对象。代理对象实现了目标接口,...
程序开发 Java 使用 EasyExcel 导出基本使用方法 工作中要说用到 excel 的情况说多也不多,说少也不少,但是很多次遇到似乎都要去查一遍 EasyExcel 的用法,所以这里把经常用到的注解记录一下。 1. 基本导出 1.1 指定标题 常规导出情况下,只需要指定单元格头部标题,和忽略部分字段即可。 public class DemoData { @ExcelProperty("字符串标题") private String s...