核心隐私数据无论对于企业还是用户来说尤其重要,因此要想办法杜绝各种隐私数据的泄漏。下面陈某带大家从以下三个方面讲解一下隐私数据如何脱敏,也是日常开发中需要注意的:
1.配置文件数据脱敏
2.接口返回数据脱敏
3.日志文件数据脱敏
Pattern p = Pattern.compile("需要匹配的正则表达式");
Matcher m = p.matcher("需要匹配的文本");
while(m.find()){ //寻找下一个匹配的子文本
String s = m.group(); //提取
System.out.println(s); //输出
}
网上教程一大堆,简单直接能用的,不多,各种都是解析出来千奇百怪,后来研究了一下,主要问题其实就出在于xml文件,一个节点是对象还是列表,这个不太好区分,如果本身是列表,但是这个列表只有一条数据,这种情况就是容易误判了。
View Details运用于判断表达式中时,关系判断使用 gt / ge / eq / lt / le / ne (即:使用缩写)
1 2 3 4 5 6 |
gt: great than(大于)> ge: great equal(大于等于)>= eq: equal(等于)== lt: less than(小于)< le: less equal(小于等于)<= ne: not equal(不等于)!= |
以th:if为例
1 2 3 4 5 |
<td th:if="${prj.DOC_DESC} ne null"> <!--此处ne若是换成not equal或者!=,则会js判断错误,无法正常执行--> <a th:href="#">下载</a> <a th:href="#">预览</a> </td> |
from:https://www.cnblogs.com/dream-by-dream/p/11728693.html
View DetailsThymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。它与 JSP,Velocity,FreeMaker 等模板引擎类似,也可以轻易地与 Spring MVC 等 Web 框架集成。与其它模板引擎相比,Thymeleaf 最大的特点是,即使不启动 Web 应用,也可以直接在浏览器中打开并正确显示模板页面 。 1. Thymeleaf 简介 Thymeleaf 是新一代 Java 模板引擎,与 Velocity、FreeMarker 等传统 Java 模板引擎不同,Thymeleaf 支持 HTML 原型,其文件后缀为“.html”,因此它可以直接被浏览器打开,此时浏览器会忽略未定义的 Thymeleaf 标签属性,展示 thymeleaf 模板的静态页面效果;当通过 Web 应用程序访问时,Thymeleaf 会动态地替换掉静态内容,使页面动态显示。 Thymeleaf 通过在 html 标签中,增加额外属性来达到“模板+数据”的展示方式,示例代码如下。
1 2 3 4 5 6 7 8 9 10 11 |
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--th:text 为 Thymeleaf 属性,用于在展示文本--> <h1 th:text="迎您来到Thymeleaf">欢迎您访问静态页面 HTML</h1> </body> </html> |
当直接使用浏览器打开时,浏览器展示结果如下。
1 |
欢迎您访问静态页面HTML |
当通过 Web 应用程序访问时,浏览器展示结果如下。
1 |
迎您来到Thymeleaf |
Thymeleaf 的特点 Thymeleaf 模板引擎具有以下特点: 动静结合:Thymeleaf 既可以直接使用浏览器打开,查看页面的静态效果,也可以通过 Web 应用程序进行访问,查看动态页面效果。 开箱即用:Thymeleaf 提供了 Spring 标准方言以及一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。 多方言支持:它提供了 Thymeleaf 标准和 Spring 标准两种方言,可以直接套用模板实现 JSTL、 OGNL 表达式;必要时,开发人员也可以扩展和创建自定义的方言。 与 SpringBoot 完美整合:SpringBoot 为 Thymeleaf 提供了的默认配置,并且还为 Thymeleaf 设置了视图解析器,因此 Thymeleaf 可以与 Spring Boot 完美整合。 2. Thymeleaf 语法规则 在使用 Thymeleaf 之前,首先要在页面的 html 标签中声明名称空间,示例代码如下。
1 |
xmlns:th="http://www.thymeleaf.org" |
[…]
View Details1.path info传参 /articles/12 (查询id为12的文章,12是参数)
2.URL Query String传参 /articles?id=12
3.1.Body 传参 Content-Type: multipart/form-data
3.2.Body 传参 Content-Type: application/json,或其他自定义格式
4.Headers 传参 @RequestHeader
@profileActive@ 是配合 maven profile 进行选择不同配置文件进行开发 application.properties 中配置
1 |
spring.profiles.active=@profileActive@ |
pom 中配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<profiles> <profile> <id>dev</id> <properties> <profileActive>dev</profileActive> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>prod</id> <properties> <profileActive>prod</profileActive> </properties> </profile> </profiles> |
打包命令
1 2 |
mvn package -P dev -DskipTests mvn package -P prod -DskipTests |
from:https://blog.csdn.net/thebigdipperbdx/article/details/106761805
View Details转载自:https://blog.csdn.net/youzhouliu/article/details/51183115 openjdk在linux各个平台下安装源中可以找到。 命令查找安装源中有什么版本:
1 |
yum search java | grep -i --color JDK |
此处只需要安装jdk1.8,所以安装包命令如下
1 |
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel #安装openjdk |
默认安装位置:/usr/lib/jvm/
1 2 3 4 5 |
vim ~/.bashrc export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=.:$JAVA_HOME/bin:$PATH source ~/.bashrc |
from:https://www.cnblogs.com/javalinux/p/15883849.html
View Details如题:list中存放的beans,想知道这些beans中的某个字段是否存在于里面,按照原来的操作是需要遍历list拿出逐个bean进行字段的equals,现在使用lamda表达式的话可以简化代码,如下:
1 |
boolean isExsists = list.stream().anyMatch(a -> a.getName().equals("aaa")); |
代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
package com.owl.demo.tests; import java.util.ArrayList; import java.util.List; public class LamdaTest { public static void main(String[] args) { //示例数据 People p1 = new People(); p1.setName("aaa"); p1.setAge(23); People p2 = new People(); p2.setName("bbb"); p2.setAge(23); People p3 = new People(); p3.setName("ccc"); p3.setAge(23); List<People> list = new ArrayList<People>(); list.add(p1); list.add(p2); list.add(p3); //lamda判断list中是否存在name=aaa的对象 boolean isExsists = list.stream().anyMatch(a -> a.getName().equals("aaa")); System.out.println(isExsists); } } |
from:https://blog.csdn.net/csdn_avatar_2019/article/details/123704052
View Details