Java笔记
是是非非iiee
这个作者很懒,什么都没留下…
展开
-
Activiti笔记(七) —— 流程推进与查询
核心代码/*** 模板任务列表** @param processDefinitionId* @return*/public BaseResponseVO taskList(String processDefinitionId) { if (StringUtils.isBlank(processDefinitionId)) { return BaseResponseVO.error("参数为空"); } Process原创 2021-03-30 10:40:09 · 579 阅读 · 0 评论 -
Activiti笔记(六) —— 流程启动与查询
核心代码/** * 流程启动 * 涉及表 * ACT_HI_ACTINST ACT_HI_PROCINST ACT_HI_TASKINST ACT_RU_EXECUTION ACT_RU_TASK * * @param processDefinitionId * @param variables * @return */public BaseResponseVO start(String processDefinitionId, Map<String, Object> v原创 2021-03-30 10:39:18 · 423 阅读 · 0 评论 -
Activiti笔记(五) —— 流程发布、删除与查询
核心代码/** * 流程发布 * 涉及表 * ACT_GE_BYTEARRAY ACT_RE_DEPLOYMENT ACT_RE_PROCDEF * * @param category * @param file * @return */public BaseResponseVO publish(String category, MultipartFile file) { String name = file.getOriginalFilename();原创 2021-03-30 10:38:29 · 370 阅读 · 0 评论 -
Activiti笔记(四) —— Eclipse和IDEA安装Activiti插件
Eclipse官网下载(自测版本2020-09,后续版本可能存在兼容问题)1.下载:activiti-designer-5.18.0.zip2.安装:Eclipse菜单->Help->Install New Software->Add->Name: Activiti BPMN 2.0 designerLocation:选择下载的压缩包->OK->勾选->Next->Next->I accept->Finish1.下载:org.eclipse.emf.transaction_1.4.0.v20100331-1原创 2021-03-30 10:37:35 · 447 阅读 · 0 评论 -
SpringBoot 2 (Security)整合 Gateway 步骤及问题详解
pom依赖<!--gateway--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> <version>2.2.5.RELEASE</version&g原创 2020-11-09 17:12:17 · 2472 阅读 · 4 评论 -
SpringBoot 整合 Thymeleaf 步骤及问题详解
在线手册pom文件引入依赖:<!--thymeleaf--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>yml配置:spring: #thymeleaf页面模板配置 mvc:原创 2020-10-16 09:43:18 · 269 阅读 · 1 评论 -
Activiti笔记(三) —— Activiti与JBPM概念和差异(整理和汇总)
Activiti概念一、Activiti特点1、数据持久化activiti 设计思想:简洁、快速。使用mybatis2、原生支持spring方便集成spring进行事务管理3、流程设计eclipse插件安装后有流程设计器,方便使用。4、引擎接口提供了7个引擎接口,方便调用二、Activiti核心组件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ltm0OCZp-1602811390087)(https://ask.qcloudimg.com/http-s转载 2020-10-16 09:26:25 · 962 阅读 · 0 评论 -
Activiti笔记(二) —— 基础应用及入门介绍
引入pom依赖<!--lombok--><dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.4</version> <scope>provided</scope></dependency><!原创 2020-10-16 09:22:16 · 160 阅读 · 0 评论 -
程序开发中 status 还是 state
对比:程序开发中,两个都解释为状态;status表示关联状态的转变,例如【账户】的正常、冻结、删除;state表示非关联状态的转变,例如【枚举】;参考:程序代码中,怎么区分status和state?...原创 2020-08-03 09:48:56 · 2936 阅读 · 0 评论 -
SpringBoot 2 整合富文本编辑器(UEditor)步骤及问题详解
下载UEditor:下载环境配置:项目地址:D:\workspace\project解压到项目路径下…/src/main/resources/resources/中;临时转移jsp目录,同时将jsp文件夹中的config.json文件拷贝到下步操作目录下;项目同级目录下创建文件夹/upload-file/ueditor/(application.yml中配置的上传文件保存地址);pom引入依赖:<!-- 百度文本编辑器后台部分 --> <dependency>原创 2020-07-29 15:36:38 · 442 阅读 · 1 评论 -
SpringBoot 整合 FreeMarker 步骤及问题详解
pom文件引入依赖:<!--freemarker--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId></dependency>yml配置:spring: datasource: driver-class-name: com原创 2020-07-29 09:35:51 · 1144 阅读 · 1 评论 -
SpringBoot 2 (Security) 整合 注册中心 consul 步骤及问题详解
环境搭建1.官网下载2.命令行执行# cd 目录下consul agent -dev # -dev表示开发模式运行,另外还有-server表示服务模式运行为了方便,可以在同级目录下创建一个 run.bat 脚本来启动,脚本内容如下:consul agent -devpause3.访问http://localhost:8500项目整合pom引入依赖<!--注册中心相关--> <!-- https://mvnrepository.com原创 2020-07-29 09:32:45 · 642 阅读 · 0 评论 -
SpringBoot 2 (Security)整合 Swagger 3 步骤及问题详解
引入pom依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version></dependency>Application增加@EnableOpenApi注解Swagger3Config配置@Co原创 2020-07-29 09:29:36 · 3296 阅读 · 3 评论 -
IDEA 数据库可视化配置
配置数据库用户名密码,表名点击Test Connection如果报错:Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.修改Driver连接成功如果未出现数据库和表结构图:参考IDEA连接mysql又报错!Server returns invalid timezone. Go to ‘Advanced’ tab and set ‘server原创 2020-06-23 10:05:20 · 1489 阅读 · 0 评论 -
Activiti笔记(一) —— 框架引入
引入pom依赖<!--activiti相关--><dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring</artifactId> <version>6.0.0</version></dependency><dependency> <groupId>原创 2020-06-19 09:43:21 · 343 阅读 · 0 评论 -
Vue笔记(十六)—— Vue PageHelper(SpringBoot)实现后台分页
前端开发请直接跳到第4歩1.pom引入依赖:<!--导入pagehelper相关依赖--><dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>...原创 2020-04-22 09:16:19 · 1213 阅读 · 0 评论 -
Vue笔记(十三)—— Vue axios 跨域登录 SpringSecurity 图片验证码 Session空问题解决
基本跨域问题:后台改动:不同框架不同版本多种方式,网上也各种方案,所以这里只说我的,我的项目是SpringBoot2.x+SpringSecurity,直接改动SpringSecurity...// 请求伪造防护功能关闭.csrf().disable().cors()Vue改动:详见Vue axios异步、跨域请求及proxyTable无效问题详解进入正题:问题场景:通过跨...原创 2020-04-13 23:05:36 · 1407 阅读 · 0 评论 -
MongoDB笔记(八) —— SpringBoot使用MongoDB
加入pom依赖:<!--mongodb 依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId></dependenc...原创 2020-04-10 08:57:40 · 260 阅读 · 0 评论 -
Spring Boot整合Security系列步骤及问题排查(十六)—— 动态授权管理
1.新建RbacService:/** * 项目授权服务接口 * * @author zhaohaibin */public interface RbacService { /** * 权限判断 * * @param request * @param authentication * @return */ b...原创 2020-04-03 09:15:39 · 527 阅读 · 0 评论 -
Spring Boot整合Security系列步骤及问题排查(十五)—— 静态授权管理
角色授权管理可通过框架配置:// 1.可以指定请求方法、路径匹配、所需角色.antMatchers(HttpMethod.POST,"/user/*").hasRole("ADMIN")// 如果配置hasRole,对应userDetailService授权时入参为"ROLE_ADMIN",因为在验证时框架会拼接"ROLE_"前缀,完成匹配// 2.多个权限判断联合使用时可用权限表达式,如...原创 2020-04-03 09:14:45 · 570 阅读 · 0 评论 -
Spring Boot整合Security系列步骤及问题排查(十四)—— Session管理及退出
过期管理1.直接在配置文件中配置:server: servlet: session: # 单位(s),默认30分钟,最少1分钟 timeout: 600 # session集群存储配置,如REDIS# store-type: REDIS多端登录管理和退出退出处理:使当前session失效清除与当前用户相关的remember-...原创 2020-04-03 09:13:26 · 1935 阅读 · 0 评论 -
Spring Boot整合Security系列步骤及问题排查(十三)—— 绑定解绑
SpringSocial对于绑定状态提供了数据支持,需要完善视图功能:数据访问地址:/connect即访问org.springframework.social.connect.web.ConnectController中connectionStatus(NativeWebRequest request, Model model)方法新建数据视图处理工具类DemoConnectionStat...原创 2020-04-03 09:09:41 · 738 阅读 · 0 评论 -
Spring Boot整合Security系列步骤及问题排查(十二)—— 集成微信登录
仿上篇,工具类准备:Repository;Connection;ConnectionFactory(ServiceProvider、ApiAdapter);ServiceProvider(OAuth2Operations、Api);Api:/** * 微信API调用接口 * * @author zhaohaibin */public interface Weixin { ...原创 2020-04-02 10:21:20 · 683 阅读 · 0 评论 -
Spring Boot整合Security系列步骤及问题排查(十一)—— 集成QQ登录
工具类准备:Repository;Connection;ConnectionFactory(ServiceProvider、ApiAdapter);ServiceProvider(OAuth2Operations、Api);Api:/** * QQ接口 * * @author zhaohaibin */public interface QQ { /** *...原创 2020-04-02 10:17:23 · 351 阅读 · 0 评论 -
Spring Boot整合Security系列步骤及问题排查(十)—— 短信验证码及代码优化
自定义Filter及Token等工具类准备:/** * 仿写UsernamePasswordAuthenticationFilter * * @author zhaohaibin */public class SmsCodeAuthenticationFilter extends AbstractAuthenticationProcessingFilter { public ...原创 2020-04-02 10:12:43 · 602 阅读 · 0 评论 -
Spring Boot整合Security系列步骤及问题排查(九)—— 记住我功能
1.BrowserProperties增加超时属性配置:/** * 记住我过期时间(默认1小时) */private int rememberMeSeconds = 3600;2.更新WebSecurityConfig:/** * SpringSecurity配置 * * @author zhaohaibin */@Configurationpublic class We...原创 2020-04-02 10:10:01 · 261 阅读 · 0 评论 -
Spring Boot整合Security系列步骤及问题排查(八)—— 自定义图形验证码生成逻辑可配置
1.新建验证码生成接口:/** * 验证码生成逻辑抽象类 * * @author zhaohaibin */public interface ValidateCodeGenerator { /** * 验证码生成抽象方法 * * @param request * @return */ ImageCode generat...原创 2020-04-02 10:08:26 · 186 阅读 · 0 评论 -
Spring Boot整合Security系列步骤及问题排查(七)—— 自定义图形验证码拦截路径可配置
1.更新图形验证码属性类ImageCodeProperties增加url配置属性:/** * 需要图片验证码的url */ private String url;2.更新ValidateCodeFilter增加url拆解和拦截逻辑:/** * 自定义验证码拦截器 * InitializingBean覆写afterPropertiesSet方法 * * @...原创 2020-04-02 10:07:31 · 891 阅读 · 0 评论 -
Spring Boot整合Security系列步骤及问题排查(六)—— 自定义图形验证码属性可配置
1.新建图形验证码属性类:/** * 图形验证码属性配置 * * @author zhaohaibin */@Datapublic class ImageCodeProperties { private int width = 68; private int height = 32; private int length = 4; /** ...原创 2020-04-02 10:06:18 · 218 阅读 · 0 评论 -
Spring Boot整合Security系列步骤及问题排查(五)—— 自定义图形验证码校验
1.新建图形验证码实体类:/** * 图片验证码 * * @author zhaohaibin */@Datapublic class ImageCode { private BufferedImage image; private String code; private LocalDateTime expireTime; /** * ...原创 2020-04-02 10:03:53 · 443 阅读 · 0 评论 -
Spring Boot整合Security系列步骤及问题排查(四)—— 自定义成功失败处理及可配置
1.新建成功、失败工具类:DemoAuthenticationSuccessHandler、DemoAuthenticationFailureHandler:/** * 认证成功处理 * SavedRequestAwareAuthenticationSuccessHandler Spring对AuthenticationSuccessHandler的简单实现 * @author zhaoh...原创 2020-04-02 10:02:25 · 866 阅读 · 0 评论 -
Spring Boot整合Security系列步骤及问题排查(三)—— 可配置登录页面
1.新建配置类:SecurityCoreConfig->SecurityProperties>BrowserProperties:/** * 使SecurityProperties及子属性配置类配置生效 * @author zhaohaibin */@Configuration@EnableConfigurationProperties(SecurityProperties...原创 2020-04-02 10:00:48 · 400 阅读 · 0 评论 -
Spring Boot整合Security系列步骤及问题排查(二)—— 自定义登录页面
1.完善WebSecurityConfig:@Configurationpublic class WebSecurityConfig extends WebSecurityConfigurerAdapter { /** * 加密解密官方实现 * * @return */ @Bean public PasswordEncoder ...原创 2020-04-02 09:54:08 · 560 阅读 · 0 评论 -
Spring Boot整合Security系列步骤及问题排查(一)—— 起步
1.pom.xml加入依赖: 12345 <!--security--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</...原创 2020-04-02 09:48:46 · 272 阅读 · 0 评论 -
Spring Controller Service Dao各分层理解及“无处安放”的事务
有两种理解:1.Dao调用数据库,Service分模块调用各自Dao,Controller分模块调用Service,根据功能不同选择调用单/多个Service,所以这时事务放在Controller层,因为放到各自Service相当于无事务;2.Dao调用数据库,Service是根据业务需求/逻辑不同对单/多个Dao的进一步封装,即真正意义上的“服务”,所以相互之间也可调用提高复用性,Con...原创 2019-09-24 17:54:24 · 2669 阅读 · 4 评论 -
Java中数组、List、Set互相转换
数组转ListString[] staffs = new String[]{"Tom", "Bob", "Jane"};List staffsList = Arrays.asList(staffs);需要注意的是, Arrays.asList() 返回一个受指定数组决定的固定大小的列表。所以不能做 add 、 remove 等操作,否则会报错。List staffsList = ...转载 2019-09-10 21:40:47 · 488 阅读 · 0 评论 -
Non-terminating decimal expansion; no exact representable decimal result异常的解决方法
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result异常的解决方法今天在写一个JAVA程序的时候出现了异常:java.lang.ArithmeticException: Non-terminating decimal expansion; n...转载 2019-09-10 11:20:43 · 82005 阅读 · 5 评论 -
Map遍历获取所有key/value,排序最小demo整理
Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集。接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,Map.Entry同时也提供了一个setValue()方法,程序员可以使用它修改map里面的值。//通过map.entrySet()方法//循环map里面的每一对键值对,然后获取key和valu...原创 2019-09-03 17:05:18 · 2319 阅读 · 0 评论 -
Java 导入导出Excel 最基本实现(Poi使用)
// 读取、存储、多行、行列合并/** * 获得Excel对象 */public void getTemplateXls() { try { // 获取系统文档 POIFSFileSystem fspoi = new POIFSFileSystem(new FileInputStream("/xxx/xxx.xls")); // 获...原创 2019-09-03 09:01:52 · 426 阅读 · 0 评论 -
Java Web 获取客户端真实IP和MAC地址
获取IP地址:/** * 根据请求获取IP地址 * * @param request * @return */public static String getIpAddressByRequest(HttpServletRequest request) { // 获取客户端ip地址 String clientIp = request.getHeader("x-fo...原创 2019-08-26 10:15:06 · 3740 阅读 · 0 评论