JavaEE
一颗向上的草莓
后台开发者,前端爱好者,个人博客:http://catchu.github.io
展开
-
自定义Spring的Aop切面类拦截业务请求,并获取到请求的参数名和参数值
1.问题引入本次需求是涉及到审核操作,添加,修改,删除人员,商品时如果需要审核,则先向审核队列表中插入审核信息,不需要审核时直接操作业务表(用户表)。这里许多操作都需要判断是否需要审核,所以我就定义了一个sping的切面类来拦截所有进入业务层的方法(也可以使用springmvc的拦截器)。第二个问题是在切面类中如何获取请求的参数,和参数对应的值。至此有两个问题需要解决:⑴如何定义一个切面类原创 2017-07-06 18:48:41 · 44555 阅读 · 2 评论 -
springboot配置监听器、过滤器和拦截器
监听器:listener是servlet规范中定义的一种特殊类。用于监听servletContext、HttpSession和servletRequest等域对象的创建和销毁事件。监听域对象的属性发生修改的事件。用于在事件发生前、发生后做一些必要的处理。其主要可用于以下方面:1、统计在线人数和在线用户2、系统启动时加载初始化信息3、统计网站访问量4、记录用户访问路径。 过滤器:Filte...原创 2019-07-16 14:27:41 · 258 阅读 · 0 评论 -
Mybatis自带的Example自定义查询条件
在mybatis我们在写查询语句时,如果有多个查询条件一般都会先写个1=1,以避免查询条件为空时报错,mybatis使用Example时可以这样写: Example example = new Example(CourseElementTask.class); Example.Criteria criteria = example.createCriteria(...原创 2019-05-22 10:22:45 · 8819 阅读 · 8 评论 -
springboot中配置addResourceHandler和addResourceLocations来获取本地资源
可以通过配置addResourceHandler和addResourceLocations来读取本地资源文件1.@Configurationpublic class KeepaliveSupport extends WebMvcConfigureConfig { @Override public void addResourceHandlers(ResourceHand...原创 2019-04-22 18:00:18 · 3628 阅读 · 0 评论 -
Maven项目打包遇到的两个问题
maven项目打包,profile多配置文件原创 2017-12-07 17:40:56 · 852 阅读 · 0 评论 -
springcloud中使用Hystrix保护应用
1.Hystrix入门示例1.1目前存在的问题当前项目中如果服务提供者的响速度十分缓慢,导致消费者请求一直处于等待状态,资源得不到释放,一旦请求积累过多,资源耗尽,就会导致服务不可用。顺便提一个名词雪崩效应就是这么引起的,比如存在服务ABCD,服务B是服务A的消费者,服务C,D又是服务B的消费者,服务A的不可用,随后引起服务B的不可用,进而导致服务C,D都不可用,这种因服务提供者的不可用导致消费者不原创 2017-11-25 22:57:40 · 376 阅读 · 0 评论 -
如何使用支付宝账号授权登录网站
本周在项目开发中使用到了支付宝授权登录(一键登录)我们的网站,周末做一下总结:0.总体思路为防止各位朋友看迷糊,先说一下整体执行流程:用户在我们网站点击一个“支付宝授权登录”按钮,请求到了java后台,完成跳转至支付宝之前的字符串拼接(包括回调地址,appid,scope,state),后台将这个地址处理完成之后返回给前端,前端通过window.href=”url”的形式跳转至支付宝登录页面,用户通原创 2017-12-02 15:56:56 · 15586 阅读 · 1 评论 -
百度统计数据导出服务踩的坑
百度统计踩的坑原创 2017-11-16 19:53:33 · 10437 阅读 · 7 评论 -
3.springcloud中使用Ribbon和Feign调用服务以及服务的高可用
springcloud中使用Ribbon和Feign调用服务以及服务的高可用原创 2017-11-10 17:28:00 · 10586 阅读 · 3 评论 -
SpringCloud将服务者和提供者注册到注册中心(Eureka)
1.服务注册和发现的一些术语解释1.1服务发现组件的功能服务注册表: 服务注册表是一个记录当前可用服务实例的数据库,是服务发现机制的核心。服务注册表提供查询API和管理API,通过查询Api可以查看当前可用的服务实例,通过管理Api可以注册或注册实例。服务注册: 就是服务在启动时,将服务实例的网络地址注册到服务注册表中健康检查: 服务注册表会通过某些机制(如心跳监测)定期检查已注册的服务原创 2017-11-01 16:43:34 · 1529 阅读 · 0 评论 -
使用SpringCloud构建简单的服务者和消费者
0.SpringCloud的特点Springcloud具有下列特点: - 约定优于配置; - 开箱即用,快速启动(springboot可以以jar或war的方式启动) - 适用于多种环境(Pc Server、Docker) - 组件轻量,选型中立(例如注册中心可以是Eureka、Consul、Zookeeper) - 组件丰富,功能齐全(注册中心,配置中心,智能路由,负载均衡,熔断机制)1原创 2017-11-01 15:14:36 · 1651 阅读 · 1 评论 -
maven将jar包安装到本地仓库
现在有一个问题,我用到阿里云发短信的服务时,在maven中央仓库没有aliyun-java-sdk-dysmsapi-1.0.0的jar包,只能把它下载到本地,然后打包到本地仓库。方法如下: - 首先将jar复制到本地仓库并命令行进入。C:\Users\CatchU>d:D:\>cd D:\maven3.5\myRepo\com\aliyun执行下面打包命令mvn install:insta原创 2017-11-01 14:27:15 · 1457 阅读 · 0 评论 -
logback的配置
1.在java开发中,好多同学习惯使用打断点或者System.out.print来查看信息,前者只能某次有效,放在服务器上时不方便查看,后者需要频繁的调用I/O操作,效率会有影响,所以推荐使用打印日志的方式来查看操作,可以用的是log4j,slf4j,logback。log4j性能不如后两者,不推荐使用,下面介绍的是lagback的配置。 2.引入jar包。我这里是maven工程,如果你是grad原创 2017-07-27 14:23:08 · 401 阅读 · 0 评论 -
shiro进阶—与javaweb整合
引入jar除在入门中引入的jar包之外,在web项目中如果用到shiro,还需要引入以下jar:shiro-web:shiro-web-1.2.3.jarshiro-spring:shiro-spring-1.2.3.jarshiro-quartz(根据需要):shiro-quartz-1.2.3.jarquartz-1.6.1.jarshiro-ehcache(根据需要):ehcache-core原创 2017-08-04 18:38:18 · 937 阅读 · 0 评论 -
Shiro入门—认证
什么是shiro shiro是apache的一个开源权限管理框架,实现用户认证、用户授权。 spring中有spring security (原名Acegi),是一个权限框架,它和spring依赖过于紧密,没有shiro使用简单。 shiro不依赖于spring,shiro不仅可以实现 web应用的权限管理,还可以实现c/s系统,分布式系统权限管理,shiro属于轻量框架,使用shiro实现系原创 2017-08-02 11:11:44 · 316 阅读 · 0 评论 -
Shiro入门—授权
授权流程 三种授权方式Shiro 支持三种方式的授权:编程式:通过写if/else 授权代码块完成:Subject subject = SecurityUtils.getSubject();if(subject.hasRole(“admin”)) { //有权限} else { //无权限}注解式:通过在执行的Java方法上放置相应的注解完成:@RequiresRoles(原创 2017-08-03 15:12:35 · 321 阅读 · 0 评论 -
Mybatis缓存及配置
Mybatis二级缓存原创 2017-07-19 15:47:30 · 322 阅读 · 0 评论 -
MyBatis批量更新MySQL(updateBatch)
背景描述:通常如果需要一次更新多条数据有两个方式:(1)在业务代码中循环遍历逐条更新。(2)一次性更新所有数据(更准确的说是一条sql语句来更新所有数据,逐条更新的操作放到数据库端,在业务代码端展现的就是一次性更新所有数据)。两种方式各有利弊,下面将会对两种方式的利弊做简要分析,主要介绍第二种方式在mybatis中的实现。逐条更新 这种方式显然是最简单,也最不容易出错的,...原创 2019-09-20 16:04:58 · 854 阅读 · 0 评论