自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 前后端分离项目打包

后端:idea maven 项目打包右击package 点击RUN Maven build则会在target下生成对应的jar包,在命令行中运行java -jar 。.jar 即可运行对应的jar包。前端:vue项目打包npm run bulid生成dist文件夹,点击index.html 如果不报错,则表明运行正常否则:查看vue.config.js文件,将assetsPublicPath:’/’,改为assetsPublicPath:’./’,表明当前路径下的nginx部署vue项目

2022-01-10 17:38:23 1473

原创 Spring事务:方法A调用了方法B,B上添加了事务,A没有,这种情况下会触发事务吗

事务的原理?采用aop代理模式,为要实现事务的bean创建一个代理类;方法A调用了方法B,B上添加了事务,A没有,这种情况下会触发事务吗?当A和B在同一个类中:调用B的方式是this.B()所以不会为B创建事务;当A和B不在同一个类中:调用B的方式,bean.B(),这种情况下会为B创建代理类,所以B的事务不会失效;...

2021-12-05 20:49:29 3445

原创 Java虚拟机

jVM内存结构程序计数器:线程私有,主要保存下一条指令的地址方法区:保存装载的类信息,以及常量池,字段方法信息,通常和永久区关联在一起。堆内存:线程共享加堆,存放对象实体(垃圾回收的主要区域)栈内存:线程私有,由栈帧组成,当线程调用一个方法时,栈帧入栈,用于保存该方法的局部变量表,动态连接,方法出口等。【一直递归下去,则可能会出现stackOverFlowError,则需要动态扩展,如果扩展到无法申请足够的内存空间,则会出现OOM】.java对象模型组成:对象头:锁状态标志、线程持有的锁等标

2021-10-27 16:48:19 65

原创 线程与进程

线程的5大状态新建-------就绪--------运行---------阻塞(线程被暂停)-----------死亡阻塞状态:等待阻塞:执行wait()方法之后,使本线程进入等待阻塞状态,【会释放对象锁】因此被唤醒之后需要重新等待锁资源。同步阻塞:线程在获取synchronized同步锁失败,会进入同步阻塞状态Thread.sleep()【不会释放所资源】或join()或I/O请求时,线程会进入阻塞状态,在处理结束之后,会重新进入就绪状态。wait()与notify()属于Object方

2021-10-27 14:38:11 62

原创 Lombok插件使用

Lombok注解主要作用可以通过注解形式帮助构造更加简洁规范的代码Lombok主要注解@NoArgsConstructor:生成一个无参数的构造方法@AllArgsConstructor:生成一个包含所有参数的构造方法@RequiredArgsConstructor: 会生成一个包含常量,和标识了NotNull的变量的构造方法。生成的构造方法是私有的private注意:所声明的变量必须是final,代替@Autowired扩展知识@Autowired与@Resource:都是用于自动注入@

2021-09-30 09:56:19 37

原创 Shiro+JWT+Redis实现用户校验

Shiro基础知识1. shiro基本功能认证:验证用户登录认证;授权:即权限验证,对已经登录的用户验证是否有相应的权限;会话管理:用户在认证成功之后创建会话,当前用户的所有信息都会保存在这个会话中;密码管理:加密管理,对敏感信息进行加密处理;2. shiro核心组件subject:表示当前用户角色及权限信息Security Manager:安全管理器,实现对内部实例的管理,并通过他来提供安全管理的各种服务Realm:相当于shiro进行认证和授权的数据源,Authenticator:认

2021-08-29 19:40:24 473 1

原创 前后端分离实现分页展示

后端实现分页主要是利用Mybatis的PageHelper插件实现步骤1:在pom.xml中添加pageHelper的相关依赖<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version&

2021-08-17 20:13:27 2504 1

原创 Vue+Element UI

主要标签el-contaioner:构建整个页面框架el-aside:构建左侧菜单el-menu:左侧菜单内容,常用属性::default-openeds:”[’1‘,‘3’]“默认展开的菜单,通过菜单的index值来关联;:default-active:默认选中的菜单,通过index来关联;el-submenu:可展开的菜单,常用属性:index:菜单的而下表,必须是文本类型,template:设置el-submenu的菜单名i标签:设置菜单图标,通过class属性实

2021-08-17 15:29:06 73

原创 springboot+Vue前后端分离

实现前后端解耦合前端通过Ajax来请求后端的数据接口,将Model展示到View中即可;后端只需要接口,提供数据处理接口;前端HTML----->Ajax------->后端Restful如何创建Vue项目使用命令行创建项目vue init webpack ProjectName 初始化时直接回车默认;在项目的根目录下有一个package.json的文件,里边包含项目运行所需的各种依赖; cnpm install 安装依赖npm run dev 使用热加载的方式运行我们的应用

2021-08-11 14:35:29 111

原创 springboot异常处理

**如果网络请求错误,默认返回一个json数据,但是在页面上却只能看到404;**{ "timestamp": "2021-08-04T06:38:20.294+00:00", "status": 404, "error": "Not Found", "path": "/"}原理:参照ErrorMvcAutoConfiguration;错误处理的自动配置捕获异常,并显示错误信息创建UserNotException,用户不存在异常,public cla

2021-08-05 11:39:15 397

原创 springboot拦截器

实现登录功能拦截,如果未登录,需要对其进行拦截步骤1:通过继承HandlerInterceptor来实现拦截器public class LoginHandlerInterceptor implements HandlerInterceptor {// 目标方法执行之前 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler

2021-08-04 14:06:44 65

转载 适配器模式

应用场景解决由于接口不兼容而无法一起工作的类,使其可以共同工作,主要是将适配的类的API转换成目标类的APIUML类图通过将Adapter类继承源类(Adaptee类)实现Target接口,使得将Target和Adaptee联系起来实现代码Target接口public interface Target { //这是源类Adapteee没有的方法 public void Request(); }源类Adapteepublic class Adaptee {

2021-08-03 10:13:41 28

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除