项目部署 前端 将项目部署到服务器,通过Nginx访问 环境: Vue2 vue-cli3 1.在vue.config.js中配置 2. 在index.js(项目路由文件)中配置 dynamictp是后面要访问到的路径 3. 项目打包 使用npm打包得到dist文件夹 4. 配置Nginx localtion /dynamic {} 部分为主要配置…
SpringBoot从Yml文件读取配置 注解方法 @ConfigurationProperties(prefix = "spring.arr") @Data 注意@Data注解,从Yml读取配置映射到类上时一定要有set方法,不然读不到。 从Yml文件读取列表 spring: arr: pinfo: - name: gaf11…
自定义SpringBootStarter 命名 Spring官方建议非官方Starter命名应遵循 {name}-spring-boot-starter 的格式 Starter需要导入的依赖 <parent> <groupId>org.springframework.boot</groupId> <arti…
Spring注解 初学spring的时候使用注解总觉得使用注解很神奇,加一个注解就能实现想要的功能,很好奇,也想自己根据需要写一些自己实现的自定义注解。问题来了,自定义注解到底是什么? 查阅资料后发现,注解就是一种标志,单独使用注解,就相当于在类、方法、参数和包上加上一个装饰,什么功能也没有,仅仅是一个标志。这个标志可以加上一些自己定义的参数。 但…
SpringAOP AOP (Aspect Orient Programming),直译过来就是 面向切面编程,AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。 AOP可以拦截指定的方法并且对方法增强,而且无需侵入到业务代码中,使业务与非业务处理逻辑分离,比如Spring的事务,通过事务的注解配置,Spring会自动在业务方法中开启、提…
拦截器 拦截器(Interceptor)同 Filter 过滤器一样,它俩都是面向切面编程——AOP 的具体实现(AOP切面编程只是一种编程思想而已)。 你可以使用 Interceptor 来执行某些任务,例如在 Controller 处理请求之前编写日志,添加或更新配置… 在 Spring中,当请求发送到 Controller 时,在被Contr…
分布式锁 为什么需要分布式锁 锁这个名次在开发中很常见,操作系统、数据库这些软件中都有锁的实现。 我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的锁进行处理,并且可以完美的运行。说白了,锁就是一个“指挥交通“的存在,它可以规定谁可以通行(访问数据)。但是像操作系统、数据库等软件中的锁都只是在单机上,他不能指…
整合Springboot + Redis 使用Springboot快速整合Redis,Redisson 1.导入Redis相关依赖 <!-- Redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId…
Redis 命令 REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据…
git init # 初始化本地git仓库(创建新仓库) git config --global user.name "xxx" # 配置用户名 git config --global user.email "xxx@xxx.com" # 配置邮件 git config --global color.ui t…