Java学习笔记
火火笔记
这个作者很懒,什么都没留下…
展开
-
【安全框架】Shiro安全框架
主要功能:认证,授权,加密,会话管理,web集成,缓存等。三个核心组件:Subject, SecurityManager 和 Realms. Subject:当前操作用户。 SecurityManager:Shiro框架核心,管理内部组件实例,提供安全管理的各种服务。 Realm:Shiro从应用配置的Realm中查找用户及其权限信息。从下到上,从左到右依次配置:Realm => DefaultWebSecurityManger => ShiroFilterFactoryBean原创 2022-02-09 13:57:24 · 714 阅读 · 0 评论 -
【安全框架】Spring Security安全框架
Spring Security 是针对Spring项目的安全框架,仅需要引入 spring-boot-starter-sercurity 模块。WebSecurityConfigurerAdapter:自定义Security策略。AuthenticationManagerBuilder:自定义认证策略。@EnableWevSecurity:开启WebSecurity模式。Spring Security的两个主要目标是“认证”和“授权”(访问控制)。”认证“(Authentication)、”授原创 2022-02-09 16:03:33 · 2644 阅读 · 0 评论 -
Java8 通过 Stream 多种方式对列表去重
几种列表去重的方法1.Stream 的distinct()方法distinct()是Java 8 中 Stream 提供的方法,返回的是由该流中不同元素组成的流。distinct()使用 hashCode() 和 eqauls() 方法来获取不同的元素。因此,需要去重的类必须实现 hashCode() 和 equals() 方法。换句话讲,我们可以通过重写定制的 hashCode() 和 equals() 方法来达到某些特殊需求的去重。distinct() 方法声明如下:Stream<T>转载 2021-12-28 18:20:28 · 160 阅读 · 0 评论 -
ArrayList集合去除重复对象
list = list.stream().distinct().collect(Collectors.toList());原创 2021-11-30 20:38:08 · 705 阅读 · 0 评论 -
Java 生成发送短信验证码(阿里云)
创建 RandomUtil 工具类public class RandomUtil { private static final Random random = new Random(); private static final DecimalFormat fourdf = new DecimalFormat("0000"); private static final DecimalFormat sixdf = new DecimalFormat("000000");原创 2021-10-24 23:22:35 · 217 阅读 · 0 评论 -
SpringCloud Gateway -- Cors解决跨域问题
什么是跨域?当 访问协议、IP地址、端口号不一样时,会产生跨域问题。解决跨域问题?创建配置类。@Configurationpublic class GwCorsFilter { @Bean public CorsWebFilter corsFilter() { CorsConfiguration config = new CorsConfiguration();// config.addAllowedMethod("*");// c原创 2021-10-24 22:26:06 · 713 阅读 · 0 评论 -
IDEA 创建SpringBoot项目报错 Cannot access org.springframework.context.ConfigurableApplicationContext
新建 SpringBoot 项目后,提示报错 Cannot access org.springframework.context.ConfigurableApplicationContext。网上的解决办法是 删除导入项目自动生成的xxx.iml ,重新导入一下module。对于idea,当打开文件时发现没有iml文件时,只需要打开文件的存储位置,然后在目录上面,输入cmd,再输入 mvn idea:module 命令即可。...原创 2021-10-19 16:31:43 · 1668 阅读 · 0 评论 -
SpringBoot 整合 EasyExcel
1.在 pom.xml 中引入依赖。<dependencies> <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <原创 2021-10-19 12:16:52 · 135 阅读 · 1 评论 -
SpringBoot项目启动,错误: 找不到或无法加载主类
SpringBoot项目启动,错误: 找不到或无法加载主类。应该是之前执行了 clean 操作引起的。启动是的确是好了,那么问题又来了:发现项目每次都需要install了,那真的痛不欲生啊…解决::把.idea删除 关闭idea重启。有可能会出现都不是maven项目。解决方法:重新添加一下 就OK了,发现项目更新或修改都能正常编译了,不需要install了,如果使用了svn的可以在点击vcs 重新开启下svn就OK了。...转载 2021-10-19 11:53:46 · 2007 阅读 · 0 评论 -
logback-spring.xml配置文件(日志)
logback-spring.xml 配置文件在 resources目录下创建 logback-spring.xml。注意:必须命名为 logback-spring.xml。logback-spring.xml 具体配置<?xml version="1.0" encoding="UTF-8"?><configuration scan="true" scanPeriod="10 seconds"> <!-- 日志级别从低到高分为TRACE <原创 2021-10-18 20:52:41 · 619 阅读 · 1 评论 -
Swagger2接口测试
创建工程创建一个 Spring Boot 工程,加入 web 依赖,工程创建成功后,加入 Swagger2 相关依赖(springfox-swagger2、springfox-swagger-ui)。Maven 仓库地址:https://mvnrepository.com/1、导入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger原创 2021-08-27 15:34:42 · 969 阅读 · 0 评论 -
zookeeper监听器原理
1.监听器原理详解1、首先要有一个main()线程。2、在main线程中创建zookeeper客户端,这时就会创建两个线程,一个负责网络连接通信(connect),一个负责监听(listener)。3、通过connect线程将注册的监听事件发送给zookeeper。4、在zookeeper的注册监听器列表中将注册的监听事件添加到列表中。5、zookeeper监听到有数据变化或者路径变化时,就会将这个消息发送给listener线程。6、listener线程内部调用了process()方法。2.原创 2021-08-19 17:04:22 · 239 阅读 · 1 评论 -
zookeeper脚本一键启动停止查看状态
假设有三台服务器节点(hadoop102、hadoop103、hadoop104)。#!/bin/bashcase $1 in"start") { for i in hadoop102 hadoop103 hadoop104 do echo ---------- zookeeper $i 启动 ssh $i "/opt/module/zookeeper-3.4.13/bin/zkServer.sh start" done};;"stop") { for i in hadoop1原创 2021-08-19 16:17:42 · 187 阅读 · 0 评论 -
自定义 RedisTemplate 模板,拿来即用
@Configurationpublic class RedisConfig { // 定义一个 redisTemplate @Bean @SuppressWarnings("all") public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) { // 为了自己开发方便,一般直接使用<String,Object>原创 2021-08-12 10:40:25 · 255 阅读 · 0 评论 -
POI读取不同类型的Excel数据及计算公式(拷贝可直接使用)
1.导入Maven依赖 <!--xls(03)--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version> </dependency>原创 2021-07-26 11:58:03 · 1778 阅读 · 0 评论 -
Swagger2配置及注解
1.导入Maven依赖Swagger2 需要导入两个依赖,“swagger2”以及“swagger-ui”。“swagger-ui”用于显示URL界面,开发URL默认地址:http://localhost:8080/swagger-ui.html <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger原创 2021-07-24 10:53:21 · 460 阅读 · 0 评论 -
JSR-303 常用注解
JSR-303 常用注解@NotNull(message="名字不能为空")pribate String userName;@Max(Value=120,message="年龄最大不超过120")private int age;@Email(message="邮箱格式错误")private String email;空检查@Null 验证对象是否为 Null。@NotNull 验证对象是否部位 Null,无法检查长度为0的字符串。@NotBlank 检查约原创 2021-07-17 09:49:46 · 506 阅读 · 0 评论 -
微服务架构——马丁弗勒(中文版论文完整版)
本文内容微服务微服务风格的特性组件化(Componentization )与服务(Services)围绕业务功能的组织产品不是项目强化终端及弱化通道分散治理分散数据管理基础设施自动化容错性设计设计改进微服务是未来吗其它微服务系统多大微服务与SOA多语言多选择实践标准和强制标准让做对事更容易断路器circuit breaker和产品中现有的代码同步是有害的微服务“微服务架构(Microservice Architecture)”一词在过去几年里广泛的传播,它转载 2021-07-15 21:18:23 · 4083 阅读 · 1 评论 -
Git 忽略文件配置规则
有些时候我们不想将某些文件纳入到版本控制中,比如数据库文件、临时文件、设计文件等。我们可以在主目录下建立 “.gitignore” 文件,此文件有如下规则:1.忽略文件中的空行或以井号(#)开始的行将会被忽略。2.可以使用Linux通配符。例如:星号(*)代表任意多个字符,问好(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,…})代表可选的字符串等。3.如果名称的最前面有一个感叹号(!),表示例外规则,将不忽略。4、如果名称的最前面有一个路径分隔原创 2021-07-13 20:58:01 · 1308 阅读 · 1 评论 -
关于 IDEA 安装 Vue 插件后新建文件不显示 Vue Component 问题及解决方法
关于 IDEA 安装 Vue 插件后新建文件不显示 Vue Component 问题及解决方法1.点击 file 打开设置 settings,展开 Editor 找到 File and Code Templates。2.找到 Vue Single File Component,选中它,然后点击上面的 Copy Template。3.复制后最下面会出现一个新的文件(Copy of Vue Single File Component)。4.点击 Copy of Vue Single File Com原创 2021-07-13 11:33:14 · 991 阅读 · 0 评论 -
SpringMVC文件上传和下载
一、文件上传1.在pom.xml中导入相应的依赖包。 <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency>原创 2021-07-12 17:14:47 · 74 阅读 · 0 评论 -
Json乱码问题配置
解决 jackson 乱问问题,可在 spring-servlet.xml 内配置如下代码: <!-- JSON乱码问题配置 --> <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConv原创 2021-07-08 08:48:06 · 1351 阅读 · 0 评论 -
Windows 找不到文件 ‘chrome‘。请确认文件名是否正确后,再试一次。
Windows 找不到文件 ‘chrome’。请确认文件名是否正确后,再试一次。错误:当不运行 IDEA 项目,通过快捷键进入浏览器时,可能会出现以下错误。原因:未设置 chrome 路径,导致找不到路径报错。解决办法:1.在桌面上找到 chrome.exe ,右键选择查看 属性,复制自己 快捷方式 下的 目标(T) 后面的路径。注意:如果目标路径被 英文状态下的双引号"" 引出,需要去掉双引号,只复制路径。2.IDEA 内通过 File --> Settings… 打开 Settin原创 2021-07-07 19:33:37 · 17872 阅读 · 2 评论 -
SpringMVC解决数据传递中文乱码问题
在 web.xml 中添加如下配置。 <filter> <filter-name>encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>enco原创 2021-07-07 16:25:59 · 257 阅读 · 0 评论 -
springmvc工程创建及配置
1.创建一个动态工程。2.在pom.xml中导入相关依赖。 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency原创 2021-07-07 08:50:30 · 135 阅读 · 0 评论 -
log4j配置文件(详细)
配置Log4j日志:1.在项目pom.xml文件中导入Log4j依赖。 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.20</version> </dependency>2原创 2021-07-06 17:57:17 · 12455 阅读 · 1 评论 -
Maven项目静态资源导出问题
使用IDEA运行项目遇到导报问题时,可在pom.xml中导入以下配置。<build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include>原创 2021-07-06 17:34:08 · 145 阅读 · 0 评论 -
idea 快速重启
idea重启可以解决某些操作框异常出现无法关闭、清除程序缓存等问题,以下是 idea快速重启 步骤。idea重启:第一步:通过File --> Invalidate Caches/Restart… 进入重启窗口。第二步:选择自己所需要的重启方式,共有四个按钮,三种方式。Invalidate and Restart :清空缓存并重启。Invalidate :清空缓存。Cancel :取消。Just Restart :重启。...原创 2021-07-02 08:49:12 · 21761 阅读 · 1 评论 -
Java中next()和nextLine()区别
.next()和.nextLine() 区别:next() :1、只能读取有效字符,对有效字符出现之前的所有空格,next() 将自动忽略。2、从有效字符出现开始,将其后输入的空格键、Tab键和Enter键等视为分隔符或结束符。nextLine() :1、读取Enter键出现之前的所有字符,包括带空格的字符。2、只能以Enter键作为结束符。import java.util.Scanner;public class Demo { public static void main(Strin原创 2020-12-07 20:27:55 · 1265 阅读 · 0 评论 -
MySQL 清空表 和截断表
在区分截断表和清空表之前,再简略复习一下SQL语言分类:1、DQL(数据查询语言):查询语句,凡事 select语句 都是DQL。2、DML(数据操作语言):insert 、delete 、update,对表当中的数据进行增删改。3、DDL(数据定义语言):create 、drop 、alter,对表结构的增删改。4、TCL(食物控制语言):commit 提交事务, rollback 回滚事务。(TCL中的T是Transaction)5、DCL(数据控制语言):grant 授权、 revoke 撤原创 2020-12-01 20:41:06 · 1614 阅读 · 0 评论 -
Java接口成员变量和方法默认修饰符(缺省属性)
Java接口成员变量和方法默认修饰符(缺省属性)Java的interface接口中,定义成员时由于默认修饰符自动省略,因此,默认修饰符也称为缺省属性。成员变量默认修饰符为: public static final成员方法默认修饰符为: public abstract1、成员变量从默认修饰符 “public static final” 中可以看出,在接口内定义成员变量时,成员变量为最终静态变量,不能被实例化为对象【没有对象】,并且必须赋值,在外面访问该成员变量时无法修改该成员变量的值。例如:1.原创 2020-11-28 18:46:46 · 10521 阅读 · 5 评论 -
Java获取时间格式(年月日时分秒毫秒)
Java中描述日期时间调用Date类型,该类型存储有时间的年月日、时分秒信息。其中:需要获取的时间单位格式年YYYY or yyyy月MM(大写)日dd(小写)时HH or hh分mm(小写)秒ss(小写)毫秒SS(大写)从当年的1月1日起,到获取时间是该年份的第几天DD(大写)方法一:Calendar类import java.util.Calendar;import java.util.Date;public原创 2020-11-23 18:50:36 · 14841 阅读 · 2 评论 -
Java数据类型(八种基本数据类型 + 四种引用数据类型)
一、JAVA中的数据类型分为分为两大类:1.基本数据类型(八种):类型名称占用字节数据范围默认值字 节byte1-128 ~ 1270短整型short2-32768 ~ 327670整 型int4-2^31 ~ 2^31 - 10长整型long8-2^63 ~ 2^63 - 10L单精度浮点型float410^380.0F双精度浮点型double810^3080.0字符型char20 ~原创 2020-11-24 23:20:25 · 33543 阅读 · 1 评论