- 博客(45)
- 收藏
- 关注

原创 SpringSecurity可重用模块开发流程
目的:在springboot项目中实现可重用、可配置的自定义security安全框架( 一 )SpringSecurity基本原理( 二 )SpringSecurity自定义用户认证逻辑( 三 )个性化认证流程(自定义登陆页面、成功处理、失败处理)...
2019-07-10 11:27:31
249

原创 使用Restful风格开发列表
使用Restful风格开发列表一下是个人观点,不喜勿喷,谢谢各位大佬!!!一下是个人观点,不喜勿喷,谢谢各位大佬!!!一下是个人观点,不喜勿喷,谢谢各位大佬!!!( 一 )常用注解( 二 )测试环境示例( 三 )@PathVariable、@JsonView的使用( 四 )@Valid( 五 )异常处理( 六 )springBoot项目配置过滤器(filter)...
2019-07-03 11:39:02
673
转载 牛转乾坤——Spring Boot 解决跨域问题的 3 种方案!
牛转乾坤——Spring Boot 解决跨域问题的 3 种方案!Java引导者secondJava引导者今天作者:telami来源:telami.cn/2019/springboot-resolve-cors/前后端分离大势所趋,跨域问题更是老生常谈,随便用标题去google或百度一下,能搜出一大片解决方案,那么为啥又要写一遍呢,不急往下看。问题背景:Same Origin Policy,译为“同源策略”。它是对于客户端脚本(尤其是JavaScript)的重要安全度量标准,..
2021-02-05 16:23:13
285
原创 git上传
1、初始化仓库git init2、将你本地仓库与码云上的远程仓库关联起来git remote add origin https://gitee.com/fox9916/demo.git3、上传之前更新最新的git pull origin master4、提交git add .git commit -m '注释信息'5、pushgit push origin master...
2021-01-15 18:45:06
159
原创 Mysql日期函数使用
主要包含日期格式化,日期计算等操作CURDATE():当前时间,精确到天NOW():当前时间,精确到秒DATE_FORMAT('2020-11-11 11:11:11','%Y-%m-%d %H:%m:%s')INTERVAL:代表的是时间间隔EXTRACT:返回年、月、日、小时、分钟等等DATE_SUB:从日期减去指定的时间间隔示例1、 获取当前时间 1.1使用CURDATE() select CURDATE() 查询结果 2020-11-25 .
2020-11-25 19:09:25
334
转载 分布式事务解决方案
分布式事务解决方案感谢博主技术分享冬日魔幻之旅-seata+dubbo+nacos+springboot解决分布式事务的全网段唯一实践之作(上)冬日魔幻之旅-seata+dubbo+nacos+springboot解决分布式事务的全网段唯一实践之作(下)不会用nacos可以稍微看下下面这篇文章nacos+springboot+dubbo2.7.3集成以及统一处理异常的两种方式...
2020-08-28 11:29:53
153
原创 char数组转换
之前对接海康设备的时候,碰到一个问题。需要将char数组转换为int,而不是int数组例如:现有一个char数组 char[] arr = {0,0,1,1}转换为int后就是,00000000000000000000000100000001=257网上的方法大都是,一个字节一个字节的计算,如下char[] arr = {0,0,1,'a'};Integer sum = arr[0] * 256 * 256 * 256 + arr[1] * 256*256 + arr[2]...
2020-08-27 19:20:48
950
原创 计算百分比方式
String format1 = new DecimalFormat("0%").format(((float) 4 / 6)); // 67%String format2 = new DecimalFormat("0.0%").format(((float) 4 / 6));// 66.7%String format3 = new DecimalFormat("0.00%").format(((float) 4 / 6));// 66.67%
2020-07-24 15:55:48
352
原创 springBoot 整合 mybatis-plus、druid数据库连接池
1.添加druid依赖<!--web 相关--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>&...
2019-11-07 08:41:23
2498
转载 Eclipse快捷键大全
这些是在别人博客上看到的,觉得挺实用的。Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下...
2019-11-07 08:35:10
195
1
原创 map之一键多值
在开发中,有时会遇到需要一个map存储一个key 对应 多个 value的情况。实现方式一:使用list集合存储所有数据 将list集合根据拆分为多个list集合 将多个list集合存储到map中实现方式二:引入guava依赖<!-- https://mvnrepository.com/artifact/com.google.guava/guava --><...
2019-08-21 11:37:15
1988
原创 springboot整合druid+mybatis,并使用日志监控功能
1.引入依赖<!--druid https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter --><dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spri...
2019-08-16 09:26:58
2819
原创 maven打包插件
项目打包后的文件名为 thymeleaf-in-action.jar。压缩包内包含使用maven引入的所有依赖jar包<build> <plugins> <!--maven打包插件,将项目打包为jar包,并且依赖jar包也会打包进去--> <plugin> <...
2019-08-09 09:35:15
171
原创 函数式编程/lambda表达式
jdk 1.8 新特性: 接口中增加了default方法(默认实现的方法) 可以升级接口并且不需要继承这个接口的地方一一实现。更加便于软件升级; 示例: jdk1.8版本之后List接口中新增了几个default方法,而实现List接口的ArrayList、LinkedList等不需要实现父类接口的方法,这就是jdk1.8接口增加default方法最大的好处。 ...
2019-07-26 10:45:36
183
原创 睡眠排序法
新鲜出炉睡眠排序法核心类 :CountDownLatch 、CyclicBarrierCountDownLatch : countDown()递减锁存器的计数,如果计数到达零,则释放所有等待的线程。 await() 使当前线程在锁存器倒计数至零之前一直等待(如果锁存器为0,则释放等待) CyclicBarrier: await() ...
2019-07-25 15:05:58
261
原创 ( 三 )个性化认证流程(自定义登陆页面、成功处理、失败处理)
目标:自定义登陆界面 自定义登陆成功处理 自定义登陆失败处理自定义登陆界面SecurityProperties@Data@ConfigurationProperties(prefix = "imooc.security")public class SecurityProperties { private BrowserProperties browser = new...
2019-07-10 17:28:09
428
原创 ( 二 )SpringSecurity自定义用户认证逻辑
SpringBoot项目 2.0.8配置类:BrowserSecurityConfig配置认证方式、授权 配置加密类@Configuration@EnableWebSecuritypublic class BrowserSecurityConfig extends WebSecurityConfigurerAdapter { @Bean // 配置加密类 pub...
2019-07-09 14:04:04
204
原创 解决java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"
使用springboot,权限管理使用spring security,使用内存用户验证,但无响应报错:java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"解决方法:这是因为Spring boot 2.0.8引用的security 依赖是 spring security ...
2019-07-09 13:54:59
989
5
原创 ( 一 )SpringSecurity基本原理
SpringSecurity基本原理Spring Security核心功能认证(你是谁) 授权(你能干什么) 攻击防护(防止伪造身份) security实际上就是一组过滤器链security流程认证示例:请求 http://localhost:8060/user用户第一次请求http://localhost:8060/user 在进入Controller之前会被Filte...
2019-07-08 17:03:24
269
原创 ( 九 )使用swagger自动生成html接口文档
步骤一:引入 swagger 依赖 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency> <groupId>io.springfox</groupId> ...
2019-07-05 17:06:01
695
原创 ( 八 ) springMvc同步与异步
springMvc同步与异步一下是个人观点,不喜勿喷,谢谢各位大佬!!!默认情况下使用spring是同步的,当然也支持异步以提高程序的吞吐量下面讲解同步例如1:下面代码展示,主线程会睡眠1秒钟之后继续执行。阻塞了主线程 @GetMapping("/order1") public String order1() throws Exception { ...
2019-07-05 14:27:12
1217
原创 ( 七 ) springBoot项目文件上传下载
springBoot项目中文件上传下载import com.imooc.dto.FileInfo;import org.apache.commons.io.IOUtils;import org.springframework.web.bind.annotation.*;import org.springframework.web.multipart.MultipartFile;im...
2019-07-05 14:03:04
137
原创 ( 六 )springBoot项目配置过滤器(filter)拦截器(Interceptor)
springBoot项目配置过滤器(filter)拦截器(Interceptor)过滤器(Filter) 拦截器(Interceptor)的区别Filter 过滤器:import javax.servlet.*;import java.io.IOException;import java.util.Date;// 过滤器//@Componentpublic class T...
2019-07-04 16:30:53
732
翻译 过滤器和拦截器的区别
springBoot项目配置过滤器(filter)拦截器(Interceptor)过滤器和拦截器的区别: 过滤器: Filter 拦截器:Interceptor 过滤器依赖与servlet容器,而拦截器是JavaEE标准 ①拦截器是基于java的反射机制的,而过滤器是基于函数回调。 ②拦截器不依赖与servlet容器,过滤器依赖与servlet容器。...
2019-07-03 19:26:06
736
3
原创 ( 五 )异常处理
SpringBoot异常默认处理机制springboot项目中对于异常有自己的处理方式;区分浏览器(返回错误页面)与其他处理方式(返回Json格式数据)例如访问一个不存在的页面localhost:8080/xxx 该Url不存在默认:加入在resources目录下创建/resources/error目录,目录中创建对应错误码页面,则错误请求会返回对应的页面...
2019-07-03 14:56:41
241
原创 ( 四 )@Valid
@Valid 注解用于验证对象中参数是否符合要求,不符合要求时返回message 的错误提示信息封装到(BindingResult errors)对象中@PutMapping("/user/update") public User updateUser(@Valid @RequestBody User user,BindingResult errors){ if(...
2019-06-28 09:20:40
198
原创 ( 三 )@PathVariable、@JsonView的使用
@PathVariable、@JsonView的使用@GetMapping(value = "/user/{id://d+}")public User getInfo(@PathVariable(name = "id") String idxxx){} // @PathVariable注解获取URL中{}片段值放到方法参数中@JsonView 使用步骤(作用:在返回相同对象时候,控制在某...
2019-06-27 13:44:04
368
原创 ( 二 )测试环境示例
在Restful风格开发中,测试环境示例@RunWith(SpringRunner.class)@SpringBootTestpublic class UserControllerTest { @Autowired private WebApplicationContext wac; private MockMvc mockMvc; @Before...
2019-06-27 10:58:31
341
原创 ( 一 )常用注解
一张图说明RestFul风格与传统风格的区别实例说明在平时的 Web 开发中,method 常用的值是 GET 和 POST,但是实际上,HTTP 方法还有 PATCH、DELETE、PUT 等其他值,这些方法又通常会匹配为如下的 CRUD 动作:在RestFul风格开发中分为多个强度级别(依次加强) 0 使用Http作为传输方式 ① ...
2019-06-27 10:53:18
202
2
原创 MySql判断是否为null或空字符串
是null 或者 去除空格后长度小于 1ISNULL(aBegBalRule) || LENGTH(trim(aBegBalRule))<1
2019-05-20 17:11:20
13080
1
转载 MySQL删除语句比较,清空表数据,重置自增长索引
drop truncate delete 程度从强到弱1、drop table tbdrop将表格直接删除,没有办法找回2、truncate (table) tbtruncate 删除表中的所有数据,不能与where一起使用3、delete from tb (where)delete 删除表中的数据(可制定某一行)truncate和d...
2019-05-20 15:55:20
1096
原创 spring监听器
想在spring项目初始化时调用方法执行某些操作。思路一:bean实现InitializingBean接口,实现 afterPropertiesSet() 方法。在bean初始化时会调用 afterPropertiesSet()方法执行需要的操作思路二:bean实现 ApplicationListener<ContextRefreshedEvent>接口,实现on...
2019-05-16 15:43:40
276
翻译 redisTemplate 总结
依赖jar包jackson <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <vers...
2019-05-08 17:17:23
228
原创 解决post请求乱码问题
将下面配置信息配置在webapp/WEB-INF/web.xml中<!-- 解决post乱码 --><filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.Cha...
2019-05-08 17:14:41
758
原创 spring AOP为什么配置了没有效果?
spring Aop的配置一定要配置在springmvc配置文件中springMVC.xml1 <!-- AOP 注解方式 ;定义Aspect -->2 <!-- 激活组件扫描功能,在包com.ly.aop.aspect及其子包下面自动扫描通过注解配置的组件-->3 <context:component-scan base-package="co...
2019-05-08 17:13:29
371
原创 mysql基础
Mysql性能优化尽量不要写select * ,如果需要全表数据,使用select 加所有字段列名称查询代替*尽量减少字段列的数学计算,如:where num * 2 >= 30,可改为 where num >= 30/2学会使用 explain 关键字 查看当前sql语句的优化程度例如:explain select * from emp where e...
2019-05-08 16:48:37
146
翻译 解决Intellij idea Error:java: 无效的源发行版: 1.8
新建项目编译出现错误如下:原因在于模块的target bytecode version和实际的编译器版本不一致所导致的错误。不管三七二十一,把所有jdk版本统统改成一样的1、首先修改项目结构中jdk版本2、修改设置 java compiler中jdk版本原文链接:https://blog.youkuaiyun.com/c15158032319/article...
2019-04-02 15:05:47
658
原创 固定导航栏
只需将需要控制固定的区域使用css样式控制即可控制左侧导航栏位置固定 .nav { width: 150px; height: 100%; position: absolute; /*绝对位置*/ position: fixed; /*固定作用*/ left: 0px; top: 110px; z-index: 10 /*值越大...
2019-04-01 08:36:01
224
原创 Vue项目 打包上线之后部分CSS不生效
首先注释掉webpack.prod.conf.js中下面的代码new OptimizeCSSPlugin({ cssProcessorOptions: config.build.productionSourceMap ? { safe: true, map: { inline: false } } : { safe: true }}),然后在utils.js中添加,...
2019-03-28 13:22:17
2950
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人