- 博客(19)
- 收藏
- 关注
原创 【无标题】
formLogin的方式,指定登录接口url以及登陆成功后的handler,handler类把token返回给前端 http.formLogin() .loginProcessingUrl("/api/login") .successHandler((httpServletRequest, httpServletResponse, authentication) -> { httpS
2022-02-15 17:20:12
345
原创 自定义一个SpringBoot的starter
1、 建一个SpringBoot项目(Maven项目也可),导入spring-boot-autoconfigure依赖(spring-boot-starter也可) 2、编写一个配置类HelloServiceProperties import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Component @Co
2020-09-30 14:58:42
302
转载 手写tomcat(三) 基于NIO的方式
在上一次的基础上做了改动,基于NIO的方式,使用了ThreadPoolExecutor线程池 public void acceptWait() { try { serverSocketChannel = ServerSocketChannel.open(); //设置非阻塞 serverSocketChannel.configureBlocking(false); serverSocketChan
2020-09-14 19:00:21
200
转载 MySQL日期格式化函数DATE_FORMAT(‘2020-09-14 14:08:16‘,‘%y%m%d %H%I%S‘)
DATE_FORMAT参数的含义
2020-09-14 14:28:24
5111
转载 手写tomcat(二) 访问servlet
1、HTTPServer package core; import annotations.Servlet; import baseservlet.AbstractServlet; import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.net.URL; import java.
2020-09-12 22:20:23
388
3
转载 手写Tomcat(一) 访问静态资源
tomcat获取客户端请求图: 1、Request类 package request; import response.Response; import java.io.IOException; import java.io.InputStream; /** * version1.0 访问项目下得静态资源 * 这个类主要是把从socket拿到得输入流解析一下,解析url出来 * */ public class Request { private InputStream is;
2020-09-12 18:23:50
266
原创 自定义注解
这个博客写的很详细 https://blog.youkuaiyun.com/xsp_happyboy/article/details/80987484
2020-08-29 20:15:34
143
原创 Mybatis自定义SQL拦截器
import org.apache.ibatis.executor.statement.StatementHandler; import org.apache.ibatis.mapping.BoundSql; import org.apache.ibatis.mapping.MappedStatement; import org.apache.ibatis.mapping.SqlCommandType; import org.apache.ibatis.plugin.*; import org.apache
2020-08-29 19:21:46
702
原创 SpringSecurity+JWT自定义用户认证服务
一、导入依赖 <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> </dependency> <dependency> <groupId>org.springframework.boot<
2020-08-23 20:05:49
998
原创 JWT
什么是JWT JSON Web Token(简称 JWT)是目前最流行的跨域认证解决方案。 是一种认证授权机制。 JWT 是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准(RFC 7519)。JWT 的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源。比如用在用户登录上。 可以使用 HMAC 算法或者是 RSA 的公/私秘钥对 JWT 进行签名。因为数字签名的存在,这些传递的信息是可信的。 JWT的原理 用户输入用户名/密码登录,服务
2020-08-23 12:26:48
228
原创 JPA排序 分页 条件查询 选择更新
package com.hy.jpa; import com.hy.jpa.entity.User; import com.hy.jpa.repository.UserRepository; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest;
2020-08-17 17:46:27
335
原创 Spring Data JPA提供的接口
一、SpringBoot JPA提供的核心接口 1、Repository接口 2、CrudRepository接口 3、PagingAndSortingRepository接口 4、JpaRepository接口 5、JPASpecificationExecutor接口 各个接口的继承体系图 CrudRepository接口 PagingAndSortingRepository接口 JpaRepository接口 JPASpecificationExecutor接口 该接口主要是提供了多条件查询的支持
2020-08-16 19:55:49
422
原创 Spring Data JPA的使用
一、介绍 JPA (Java Persistence API)Java持久化API。是一套Sun公司Java官方制定的ORM 方案,是规范,是标准 ,sun公司自己并没有实现,场上的主流的JPA框架(实现者)有: Hibernate (JBoos)、EclipseTop(Eclipse社区)、OpenJPA (Apache基金会)。 其中Hibernate是众多实现者之中,性能最好的。 二、整合SpringBoot使用 1、导入依赖 <dependency>
2020-08-16 19:13:19
181
原创 SpingAOP的概念和使用
AOP术语 连接点(join point):对应的是具体的被拦截的对象,因为Spring只能支持方法,所以被拦截的对象往往就是指特定的方法,例如,我们前面提到的HelloServiceImpl的sayHello方法就是一个连接点,AOP将通过动态代理技术把它织入对应的流程中。 切点(point cut):有时候,我们的切面不单单应用于单个方法,也可能是多个类的不同方法,这时,可以通过正则式和指示器的规则去定义,从而适配连接点。切点就是提供这样一个功能的概念。 通知(advice):就是按照约定的
2020-08-07 13:53:56
236
原创 简单写一个AOP的例子,帮助理解SpringAOP里面的概念
抛开AOP的概念,自己实现AOP,帮助理解 1、定义一个简单的接口HelloService package com.hy.diyAOP; public interface HelloService { public void sayHello(String name); } 2、HelloService的实现类HelloServiceImpl package com.hy.diyAOP; import org.springframework.stereotype.Service; impor
2020-08-07 12:34:07
558
原创 VUE的生命周期
VUE生命周期 1、beforeCreated : 执行这个方法时,data、methods还没有初始化完成 2、created : data、methods已经初始化完成 3、beforeMount : 模板已经编译完成,但还没有渲染到页面中 4、mounted : 模板已经挂载完毕,页面已经渲染完成,执行完该方法就表示实例已经创建完成 5、beforeUpdate : 数据已经被更新,但是还没渲染到页面中,页面中还是旧的数据 6、update : 页面数据已经更新 7、beforeDestroy : .
2020-05-18 16:10:17
190
原创 链表的基本操作
1、链表的反转 非递归版本: public ListNode ReverseList(ListNode head) { if(head == null || head.next ==null) { return head; } ListNode newHead = null; ListNode curHead = head; while(curHead != null)...
2020-02-27 10:29:03
266
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅