
Java项目实战
文章平均质量分 68
没有皮开肉绽,哪来皮糙肉厚。没有项目积累,哪来经验大师?
罗汉爷
每一个不曾起舞的日子,都是对生命的辜负!
展开
-
使用vue+kkFileview组件实现各种类型文件预览
项目使用Vue获取需要预览的项目文件列表,然后调用kkFileview预览接口实现文档在线预览。通过切换select option选项实现文件预览切换,非常贴近实际业务。原创 2024-10-24 15:11:12 · 1577 阅读 · 0 评论 -
docker部署ClamAV集成java和python实现文件病毒扫描
ClamAV 是一个开源的反病毒引擎,它由多个模块组成,负责不同的任务处理。原创 2024-06-20 10:05:05 · 1366 阅读 · 0 评论 -
使用POI导出文件报错:No valid entries or contents found
使用POI导出文件报错:No valid entries or contents found。原创 2024-06-05 11:41:10 · 478 阅读 · 0 评论 -
Springboot+Vue+ElementUI开发前后端分离的员工管理系统01--系统介绍
springboot_vue_emp是一个基于Springboot+Vue+ElementUI实现的前后端分离的员工管理系统。原创 2024-05-26 15:02:01 · 516 阅读 · 0 评论 -
解决Springboot发起https请求报错:sun.sec urity.validator.ValidatorException: PKIX path building failed
ValidatorException: PKIX path building failed意思就是非安全的调用,java不认识这个接口证书。原创 2024-01-16 21:11:56 · 899 阅读 · 1 评论 -
ElasticSearch入门安装与SpringBoot集成实战
Elasticsearch 是一个实时分布式搜索和分析引擎,一般用于全文搜索、结构化搜索,分析或者三者混用。它的底层是基于Apache Lucene(TM)的开源搜索引擎,但是lucene只是一个库,需要java开发然后集成到应用。修改config/elasticsearch.ymlwindows安装启动https://github.com/mobz/elasticsearch-head下载解压。安装node8+cd根目录,https://blog.youkuaiyun.com/qq_34254090原创 2023-02-17 20:16:06 · 1030 阅读 · 0 评论 -
Spring Cloud Openfeign微服务接口调用与Hystrix集成实战
可以认为OpenFeign是Feign的增强版,不同的是OpenFeign支持Spring MVC注解。OpenFeign和Feign底层都内置了Ribbon负载均衡组件,在导入OpenFeign依赖后无需专门导入Ribbon依赖,用做客户端负载均衡,去调用注册中心服务。原创 2022-12-16 22:10:59 · 2208 阅读 · 0 评论 -
Springboot+Vue+ElementUI实现的宿舍管理系统
项目说明doman是一个基于Springboot+Vue实现的前后端分离的宿舍管理系统。项目为本人亲手打造,需要的朋友可以拿去做个修改也是不错的。大神请忽略:)项目功能详细请看功能演示: Springboot+Vue+ElementUI实现的宿舍管理系统(前后分离) 系统管理:用户管理、角色管理、菜单管理、字典管理、部门管理业务管理:公告管理、学生管理、楼栋管理、宿舍管原创 2022-05-21 23:12:24 · 1289 阅读 · 1 评论 -
Springboot解决跨域问题
说明什么是跨域?由于浏览器的安全性限制,不允许前端页面访问协议不同、域名不同、端口号不同的http接口,例如我本地创建一个html,里面写一个ajax请求访问我服务器springboot应用提供的接口:192.168.56.123:8080/getUserInfo则会出报 No 'Access-Control-Allow-Origin' header is present on the requested resource. 错误。此类问题我们一般是在接口提供方,即服务端解决。全局配置在sprin原创 2022-03-30 14:34:33 · 8200 阅读 · 0 评论 -
Springboot中如何使用日志框架logback和log4j2?
说明在这个简短的教程中,我们将探索 Spring Boot 中可用的主要日志记录选项:logback和log4j2初始设置使用 starters 时,默认使用 Logback 进行日志记录。让我们首先创建一个 Spring Boot 模块。添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web原创 2022-03-16 13:47:38 · 1899 阅读 · 0 评论 -
springboot jpa自定义SQL查询
说明在使用JPA实现数据持久化过程中经常会遇到这种情况:我有2张表是一对多的关系,需要通过一个外键ID去关联查询到另外一张表的字段。例如,1张商品表food_info其中存有商品分类ID category_id关联商品分类表food_category,那么我需要在查询商品的时候同时查出存储在商品分类表中的分类名称列category_name。要达到的效果在页面列表中展示查询到的商品分类中文名。实现代码这里主要借助JPA提供的@Query自定义查询语句。在查询之前需要先定义几个模型类。商品表模型原创 2022-03-02 21:42:44 · 3826 阅读 · 0 评论 -
Spring Boot+Eureka+Spring Cloud微服务快速上手项目实战
SpringCloud+Eureka+Springboot2.0微服务实战项目快速搭建上手,学习微服务基本组件的使用。原创 2022-02-15 21:18:46 · 2259 阅读 · 8 评论 -
java集成华为云obs上传下载实战
说明最近项目上需要开发一个服务去和华为云OBS集成获取一些业务上的文件,此处记录一下简单的java集成obs的入门,希望对大家快速入门有所帮助:)实现效果上传对象下载到本地操作步骤1.开通obs上华为云官网,注册账号后购买,支付后进入控制台。2.获取ak/sk等信息参考:https://support.huaweicloud.com/eihealth_faq/eihealth_27_0007.html3.获取官方java demohttps://github.com/hua原创 2022-02-12 12:53:35 · 7880 阅读 · 1 评论 -
Springboot thymeleaf实战总结
介绍以下总结了使用Thymeleaf做项目过程中碰到的有价值的知识点。拿出来分享!1.配置context-path在公共模板中添加:<script type="text/javascript" th:inline="javascript" th:fragment="ctx"> /*<![CDATA[*/ var ctx = /*[[@{/}]]*/ ''; /*]]>*/</script>在需要ctx的页面中添加<!-原创 2021-12-06 17:13:09 · 526 阅读 · 0 评论 -
ckeditor实战总结
ckeditor实战技巧原创 2021-12-06 17:05:32 · 450 阅读 · 0 评论 -
springboot和jquery.form.js实现监听文件上传进度
说明文件上传作为程序开发最常用的功能之一,上传进度展示也是必须的。但是有时候进度并不准,进度100%了实际上后台尚未接收完毕,本篇就介绍如何利用jquery的form插件来实时反馈文件上传进度。实现效果注意:最后100%停了一下才出现返回结果,因为服务器端在将二进制流写入到磁盘中耗费了点时间。关于jquery.form1.这个框架集合form提交、验证、上传的功能。2.这个框架必须和jquery完整版结合,否则使用min则无效。原理:利用js进行对form进行组装成ajax的url和data原创 2021-11-13 13:53:37 · 1746 阅读 · 0 评论 -
Springboot AOP介绍及实战
介绍AOP是Aspect Oriented Program的首字母缩写;这种在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。主要用于非核心业务处理,比如权限,日志记录、异常处理,性能监控等。详细请看:https://www.zhihu.com/question/24863332实战此处就实现一个日志记录的例子。自定义注解@Target(ElementType.METHOD) //注解放置的目标位置,METHOD是可注解在方法级别上@Retention(Ret原创 2021-10-19 17:37:24 · 311 阅读 · 0 评论 -
Annotation-specified bean name conflicts with existing
问题说明Annotation-specified bean name conflicts with existing,non-compatible bean definition of same name and class翻译一下,大概就是:使用的注解发现了2个同名的bean导致了冲突。原因分析我用的springboot依赖了2个第三方jar,里面分别有一个AuditConfig bean,我又不能去修改他们,因为不是我维护的。问题清楚了下面解决吧!问题解决既然不能去改变第三方依赖,原创 2021-10-11 17:01:34 · 5049 阅读 · 0 评论 -
Springboot+LayUI实现一个简易评论系统
说明这是个简单的评论系统,目的在于介绍简单的评论和回复功能。同时基于此可以扩展更全面的、自定义的评论系统,本工程仅供学习交流使用,如果需要完整源码加老徐QQ:2480035622获取即可。技术路线前端:LayUI、Thymeleaf、JQuery后端SpringBoot、Mybatis-Plus、MySQL项目演示整体动画演示:开发步骤只介绍关键部分,需要完整源码的话找博主要。1.数据库设计此处我先只创建了一张存储评论信息的表,关键部分在于reply_t原创 2021-08-26 20:13:14 · 2858 阅读 · 9 评论 -
Springboot集成Druid连接池并实现数据库密码加密
Druid介绍Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。同时Druid不仅仅是一个数据库连接池,它包括三个部分:1.基于Filter-Chain模式的插件体系。2.DruidDataSource 高效可管理的数据库连接池。3.SQLParserD原创 2021-08-14 12:33:34 · 7656 阅读 · 9 评论 -
SpringCloud OpenFeign服务接口调用
介绍OpenFeign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用OpenFeign,可以做到使用HTTP请求访问远程服务,就像调用本地方法一样的,开发者完全感知不到这是在调用远程方法,更感知不到在访问HTTP请求。Feign和OpenFeign区别FeignFeign是Spring Cloud组件中的一个轻量级RESTful的HTTP服务客户端Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。Feign的使用方式是:使用Feign的注解定原创 2021-08-03 16:16:37 · 365 阅读 · 0 评论 -
SpringCloud 注册中心Consul实战
介绍Consul是HashiCorp公司推出的开源工具,Consul由Go语言开发,部署起来非常容易,只需要极少的可执行程序和配置文件,具有绿色、轻量级的特点。Consul是分布式的、高可用的、 可横向扩展的用于实现分布式系统的服务发现与配置。用途服务发现(Service Discovery):Consul提供了通过DNS或者HTTP接口的方式来注册服务和发现服务。一些外部的服务通过Consul很容易的找到它所依赖的服务。健康检查(Health Checking):Consul的Client可以提原创 2021-08-02 19:59:39 · 293 阅读 · 0 评论 -
SpringCloud 注册中心Zookeeper实战
介绍ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。上面的解释有点抽象,简单来说zookeeper=文件系统+监听通知机制。Eureka与Zookeeper比较ZooKeeper基于CP,不保证高可用,如果zookeeper正在选主,或者Zookeeper集群中半数以上机器不可用,那么将无法获得数据。原创 2021-08-01 16:09:46 · 373 阅读 · 0 评论 -
SpringCloud Ribbon负载均衡服务调用实战
介绍Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具。主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们很容易使用Ribbon实现自定义的负载均衡算法。LB负载均衡(Load Balance)简单的说就是将用户的请求原创 2021-07-31 20:00:43 · 256 阅读 · 0 评论 -
SpringCloud搭建Eureka集群
介绍上一篇讲了下如何搭建Eureka服务注册中心,那个是单机版的,本篇介绍下集群版搭建。搭建Eureka集群1.新建模块:cloud-eureka-server7002参考cloud-eureka-server7001新建模块cloud-eureka-server7002。2.修改hosts文件路径:C:\Windows\System32\drivers\etc\hosts,在最后面追加以下内容:# spring cloud127.0.0.1 eureka7001.com127.0.原创 2021-07-29 11:21:45 · 568 阅读 · 2 评论 -
SpringCloud服务注册与发现Eureka实战
介绍Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务治理 在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。服务注册与发现Eureka采用了CS的设计架构,Eureka Server 作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用 Eureka的客户端连接到 Eureka Server并维持心原创 2021-07-26 19:57:14 · 222 阅读 · 0 评论 -
SpringCloud Config配置中心实战
介绍本文以理论结合实践编写,篇幅较长,各位看官保持耐心:),部分内容引用自网络。什么是配置中心?当微服务过多的时候,每个微服务的配置很难集中管理。SpringCloud Config通过git代码托管来实现配置的集中管理。实现配置中心客户端获取远程的配置文件,并可以动态刷新,即时生效。如何使用?SpringCloud Config分为服务端和客户端两部分。服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置信息,加密/解密信息等访问接口客户端则是通过指原创 2021-07-20 17:58:33 · 389 阅读 · 0 评论 -
Springboot实现remember-me记住我功能
1.什么是remeber-me?remeber-me即记住我功能,是我们在登录web系统时的常见勾选项。当我们登录一个web系统时除了输入常规的用户名、密码后还可以勾选记住我选项(假设该系统提供了该选项),此时假设用户名、密码输入正确那么系统将会在客户浏览器cookie中记录用户登录相关认证相关信息。实现的效果就是当我们下次再次访问该网站某些页面时无需再次登录。2.rember-me实现原理2.1 登录过程中记住我流程:2.2 直接访问系统目标页,服务端验证流程:2.3 退出流程删除coo原创 2021-07-14 14:25:53 · 5397 阅读 · 5 评论 -
Error: testWhileIdle is true, validationQuery not set
说明使用springboot连接数据库,启动的时候报错:testWhileIdle is true, validationQuery not set。但是不影响系统使用,数据库等一切访问正常。记录备忘。原因空闲的时候需要进行检测,但是检测的查询语句没有设置。大致意思就是说,当数据库没有接收到请求时,会进行数据库连接检测,检查数据库是否还是连着的。检查数据库是否断开需要发送sql语句。报错是说这个sql语句没有设置。解决办法在application.yml 中添加 这两行配置:druid:原创 2021-07-11 17:01:01 · 9361 阅读 · 0 评论 -
Springboot集成Swagger实战
1.介绍本文将通过实战介绍Springboot如何集成swagger2,以用户管理模块为例,实现项目接口文档的在线管理。本文只列出核心部分,详细请看源码:https://gitee.com/indexman/boot_swagger_demo2.Swagger是干什么的?Swagger 是一个用于生成、描述和调用 RESTful 接口的 Web 服务。通俗的来讲,Swagger 就是将项目中所有(想要暴露的)接口展现在页面上,并且可以进行接口调用和测试的服务。官网地址:https://swagg原创 2021-06-24 16:57:06 · 307 阅读 · 0 评论 -
springboot中前端ajax如何给controller提交数组参数?
说明我有个需求,前端批量添加一堆商品明细。也就是说会有一个商品ID,然后一堆商品明细,多行。如此一来,针对后端接口肯定是要以数组或列表方式接收这个商品明细数组了。前端代码关键地方在于以formdata形式请求:// 以换行符作为分隔出一个数组var arr = data.field.kms.split('\n');$.ajax({ url: ctx+'/km/addBatch', type: "POST", dataType: "json", data:原创 2021-05-25 14:46:18 · 730 阅读 · 0 评论 -
layui切换select选项事件
说明我们经常遇到表单上面选择不同的下拉选项需要触发函数去完成一些业务逻辑,比如我这个地方根据所选商品查询它底下明细的数量,并展示。效果演示代码<!--选择商品--><div class="layui-form-item"> <label class="layui-form-label">商品</label> <div class="layui-input-block"> <select id="go原创 2021-05-25 14:36:49 · 2054 阅读 · 0 评论 -
SpringBoot+Shiro+LayUI权限管理系统项目-9.核心知识点总结
1.说明本篇讲一下本项目几个重要的知识点,详细看源码,文章下方捐赠或QQ联系捐赠获取。2.Shiro如何设置密码加密算法1.在shiro配置文件中添加:@Beanpublic HashedCredentialsMatcher hashedCredentialsMatcher(){ HashedCredentialsMatcher hashedCredentialsMatcher = new RetryLimitHashedCredentialsMatcher(ehCacheManag原创 2021-04-22 09:27:59 · 624 阅读 · 0 评论 -
SpringBoot+Shiro+LayUI权限管理系统项目-8.实现日志管理
1.说明只讲解关键部分,详细看源码,文章下方捐赠或QQ联系捐赠获取。2.功能展示包括日志搜索。3.业务模型@Data@TableName("sys_oper_log")public class SysOperLog extends Model<SysOperLog> { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO)原创 2021-04-21 09:43:27 · 664 阅读 · 3 评论 -
SpringBoot+Shiro+LayUI权限管理系统项目-7.实现用户管理
1.说明只讲解关键部分,详细看源码,文章下方捐赠或QQ联系捐赠获取。2.功能展示包括用户增删改查和分配角色。3.业务模型@Data@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)@TableName("sys_user")public class SysUser implements Serializable { private static final long serialVersionUID原创 2021-04-19 23:00:41 · 551 阅读 · 10 评论 -
SpringBoot+Shiro+LayUI权限管理系统项目-6.实现角色管理
1.说明只讲解关键部分,详细看源码,文章下方捐赠或QQ联系捐赠获取。2.功能展示3.业务模型@Data@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)@TableName("sys_role")public class SysRole implements Serializable { private static final long serialVersionUID = 1L; /**原创 2021-04-17 10:37:18 · 681 阅读 · 10 评论 -
SpringBoot+Shiro+LayUI权限管理系统项目-4.实现部门管理
1.说明只讲解关键部分,详细看源码,文章下发捐赠或QQ联系捐赠获取。2.功能展示3.业务模型@Data@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)@TableName("sys_dept")public class SysDept implements Serializable { private static final long serialVersionUID = 1L; @Tab原创 2021-04-16 09:45:09 · 774 阅读 · 16 评论 -
SpringBoot+Shiro+LayUI权限管理系统项目-2.业务模型分析
1.项目模型介绍1.1 部门表部门编码、部门名称、上级部门1.2 角色表角色编码、角色名称1.3 权限表权限名称、权限标识、权限类型、上级权限、URL、权限图标、是否外部打开1.4 用户表所属部门、用户名、密码、姓名1.5 角色和权限关系表角色ID、权限ID1.6 用户和角色关系表用户ID、角色ID1.7 系统日志表操作模块、操作方法、操作类型、操作描述、请求方式、请求参数、请求IP、请求URI、操作人、操作时间2.物理模型设计3.获取源码打赏>1元留言数字3,评论原创 2021-04-14 14:32:16 · 334 阅读 · 1 评论 -
SpringBoot+Shiro+LayUI权限管理系统项目-1.项目介绍
项目介绍打造一个基于RBAC架构模式的通用的、并不复杂但易用的权限管理系统。2.获取源码源码是捐赠方式获取,捐赠后在评论区留下邮箱发送或QQ联系我 :)!3.功能介绍部门管理对于一个公司来说,下设众多部门。此处以组织机构树形式动态扩展。角色管理包括角色信息的增删改查、权限授予、取消操作。权限管理包括权限信息的增删改查操作,权限类型有3种:目录、菜单和按钮。也就是说本系统可以控制到按钮级别的权限。用户管理包括用户信息的增删改查、角色授予和取消操作。用户属于一个部门,一个用户可以授予多原创 2021-04-14 00:36:33 · 5857 阅读 · 131 评论 -
基于角色的权限控制(RBAC)介绍
什么是RBACRBAC(Role-Based Access Control)基于角色的权限控制。其基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。有什么好处这样做的好处是,不必在每次创建用户时都进行分配权限的操作,只要分配用户相应的角色即可,而且角色的权限变更比用户的权限变更要少得多,这样将简化用户的权限管理,减少系统的开销。RBAC系统都包含哪些模原创 2021-04-13 19:45:03 · 1159 阅读 · 2 评论