token登录验证(后端)
springboot依赖12345678910111213141516171819<dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.7.0</version> </dependency> <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.4.0</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commo ...
springboot整合minio
依赖12345<dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>8.4.0</version> </dependency>
Config12345678910111213141516171819202122232425package com.manpower.config; import io.minio.MinioClient; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configurati ...
Springboot拦截器
定义拦截器只需要实现HandlerInterceptor接口即可,该接口内有三个方法
preHandler(…)
当某个 URL 已经匹配到对应的 Controller 中的某个方法,且在这个方法执行之前。
可以决定是否将请求放行,这是通过返回值来决定的,返回 true 则放行,返回 false 则不会向后执行。
postHandler(…)
当某个 URL 已经匹配到对应的 Controller 中的某个方法,且在执行完了该方法,但是在 DispatcherServlet 视图渲染之前。
这个方法中有个 ModelAndView 参数,可以在此做一些修改动作。
afterCompletion(…)
在整个请求处理完成后(包括视图渲染)执行,这时做一些资源的清理工作
这个方法只有在 preHandle(...) 被成功执行后并且返回 true 才会被执行。
代码在Interceptor中
1234567891011121314151617181920212223242526public class MyInterceptor implements HandlerInte ...
SpringBoot开发常见问题
参数传递POST传递对象1234@PostMapping() public void addStaff(@RequestBody Staff staff) { staffService.save(staff); }
PUT传递对象123456@PutMapping() public void updateStaff(@RequestBody Staff staff) { UpdateWrapper<Staff> uw = new UpdateWrapper<>(); uw.eq("id", staff.getId()); staffService.update(staff, uw); }
因为put传递时意味更新,所以需要用到对象和UpdateWrapper<Staff>
在更新时使用staffService.update(staff, uw)即可匹配更新
自动注入警告:不建议使用字段注入问题描述@Autowired会警告但是@Resour ...
SpringBoot
[[spring]][[MyBatis]]
SpringBootyml配置配置顺序:properties > yml > yaml
数组数据子啊数据书写位置的下方使用减号作为数据开始符号,每行输写一个数据,减号与数据间空格分隔
1234likes: - test - 测试 - 123
yml读取采用注解形式即可,如果是数组里某个可以读取的时候加上下标即可
自动装配123456789@Component@ConfigurationProperties(prefix = "enterprise")public class Book { private String name; private int age; private String[] subject; set和get方法}
多环境启动12345678910111213141516171819202122232425262728293031323334353637383940414243spring: profiles: # 选择启动哪一个环 ...
spring
Spring12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>t ...
mysql
快速创建随机用户信息数据创建数据库12CREATE DATABASE `test_bai` -- 创建数据库USE `test_bai` -- 切换对应的数据库
创建表123456789101112CREATE TABLE `app_user`( `id` INT NOT NULL AUTO_INCREMENT COMMENT '主键', `name` VARCHAR(50) DEFAULT '' COMMENT '用户名称', `email` VARCHAR(50) NOT NULL COMMENT '邮箱', `phone` VARCHAR(20) DEFAULT '' COMMENT '手机号', `gender` TINYINT DEFAULT '0' COMMENT '性别(0-男 : 1-女)', `password` VARCHAR(100) NOT NULL COMMENT '密码', ` ...
MyBatis
[[JDBC链接&关闭]][[spring]]
MyBatis什么是MyBatisMyBatis是一款优秀的持久层框架,用于简化JDBC开发
持久层
负责将数据保存到数据库的那一层代码
javaEE三层架构:表现层,业务层,持久层
框架
半成品软件,是一套可重用的,通用的,软件基础代码模型
在框架的基础之上构建软件编写更加高校,规范,通用,可扩展
快速入门
创建user表,添加数据 –> 对应pojo类
创建模块,导入坐标
编写mybatis核心配置文件 –> 替换链接信息,解决硬编码问题
编写SQL映射文件 –> 统一管理sql语句,解决硬编码问题
编码
定义pojo类
加载核心配置文件,获取SqlSessionFactory对象
获取SqlSession对象,执行SQL语句
释放资源
1234567891011121314151617181920212223mybatis-config<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE conf ...
js常见问题
Vue开发过程常见问题
监听键盘事件123456document.onkeyup = function (e) { let key = window.event.keyCode; if (key === 38) { ... } }
添加元素1234let bg = document.getElementById('bg');let div = document.createElement('div'); // 需要添加的元素div.className = 'boss'; // 添加属性bg.appendChild(div);
JDBC链接&关闭
JDBC链接&关闭1234567891011121314151617181920212223242526272829303132333435363738394041424344package com.example.shop.JDBC;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;public class JDBC { private static String url = null; private static String name = null; private static String password = null; static { try { Class.forName ( "com.mysql.cj.jdbc.Driver" ); } cat ...