Linux配置宝塔面板并一键部署网站(免手动安装、免配置环境、可部署多个)
前言你们写项目是为了干什么,写项目的最终目的不就是要部署部署部署!!!上线上线上线!!!那么棒的项目当然要所有人都看见啦,要不然写它用来孤芳自赏吗
二、下载宝塔所有系统安装都很傻瓜,Linux 命令行只需一行(如果可以打开图形界面也可以直接去官网下载Linux版),Windows去官网下载 exe 文件一键安装
系统兼容性推荐 Centos7.x > Debian10 > Ubuntu 20.04 > Cenots8.x > Ubuntu 18.04 > 其它系统
Centos安装脚本 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.shUbuntu/Deepin安装脚本 wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash ins ...
使用Springboot的AOP日志拦截获取前端网站的操作记录
前言随着我们的不断学习,我们的技术不断沉淀,做出来的项目也不断成熟
所以,我们的网站怎么能没有日志记录呢
4、自定义注解annotation包 下面的 Log,是自定义注解,字段的解释下面的注释中很清晰哦
12345678910111213141516171819202122232425import java.lang.annotation.*;/** * @author 徐一杰 * @date 2021/11/24 * Aop日志拦截自定义注解 */@Documented@Target(ElementType.METHOD) //注解放置的目标位置即方法级别,也就是注解放在controller里的方法上面@Retention(RetentionPolicy.RUNTIME) //注解在哪个阶段执行public @interface Log { //写在注解里面,可以用于存到数据库时的对方法的描述,可以写多个 String operationModule() default ""; // 操作模块 String operationTy ...
Java运行非Web的Springboot项目(测试类或启动主类两种方法)
前言如果springboot不是一个Web项目,大家知道,项目启动以后马上就会停止,并且 controller 等各层里面的方法也不会被执行,下面有两种方式可以运行容器里面的方法,测试类或者修改启动主类,都非常简单,几行代码的事情。
二、运行项目1、Test测试类运行打开测试类,我的叫 UseToTestApplicationTests,不同项目名字不一样,里面的初始代码是这样的,每个人都一样
在里面直接 @Autowired 你的 controller 层的文件,在下面 contextLoads 里面调用方法,右键,运行 contextLoads 就可以了。然后输出了 HelloWorld
2、启动主类运行下面使用 UseToTestApplication 启动主类来运行项目
修改代码为下图所示,要获取哪个容器就getBean哪个容器名,右键启动 UseToTestApplication
12345ConfigurableApplicationContext context = SpringApplication.run(UseToTestApplication.class, ...
Java非Web的Springboot项目打包部署到Linux服务器并运行(Maven、Gradle)
前言直接开始吧,非Web项目部署很简单的,没有繁杂的配置
有些小伙伴说非Web的项目运行一下就自己停止了,我还写了一篇很简单的设置定时任务,就是每隔5秒运行一次,永不停止这样,传送门:Java实现非Web项目的Springboot定时任务(每3秒自动执行一次)
二、开始打包首先,点击idea下方的“Terminal”
然后在里面输入“mvn clean”,回车
等待它完成后,再输入“mvn package”,回车,等待出现到这一步,打包就完成啦,jar包路径在项目根目录的target文件夹里
打开 target ,里面有以你的项目名命名的jar包
部署到服务器之前可以先测试一下jar包是否正常,在jar包所在的文件夹路径栏输入cmd,回车,会打开命令行
在命令行里输入 java -jar 你的jar包名.jar ,回车,即可运行
运行正常,我们把它部署到服务器
总结本编以Maven为例打包,但是打完包以后,部署到服务器的操作都是一样的,启动脚本里面的 indolent.properties 配置文件可以配置 nacos 上的配置文件,个人的小项目暂时用不到,后面会写 ...
Java 实现 Springboot 定时任务(每隔一段时间自动执行一次)
前言运行非Web的Springboot项目时,会发现启动主类后马上就会停止,普通的Timer定时器无法达到定时自动执行Springboot项目的效果,下面我们用Springboot自带的注解(@Component、@Scheduled、@EnableScheduling)来进行定时任务。
@Component 加在类名上,代表这个类确保会被springboot扫描到@Scheduled 加在方法名上来声明下面的方法是一个定时任务,注解的括号里包括 cron,fixDelay,fixRate 等类型@EnableScheduling 加在启动类上,意思是 开启定时器任务
下面有各注解和参数的详解。
首先是service和impl的代码,没什么不同
IDemoService:
12345package com.example.demo.service;public interface IDemoService { void demo();}
DemoServiceImpl:
123456789101112131415package com.example.d ...
Vue使用alibaba的iconfont矢量图标
网上有很多引入方法,官方也给出了三种引入方法,但是大多数人引入后都不会显示,或者是不能自定义样式,下面这种方法不会存在上面的那些问题,是目前最好的引入方式。
1、网址 阿里巴巴矢量图库 ,要求登陆后使用,先注册登录吧
2、登陆后,搜索想要的图标,比如用户、购物车什么的
3、鼠标移动到想要的图标上,点击“添加入库”,建议不要直接用复制SVG代码引入或者其他引入方式,先加入库在下载下来是最好的选择。
4、打开网址右上角的购物车,将所选的图标“添加至项目”
5、下载至本地,会得到一个压缩包,解压到当前文件夹
6、会出现这些内容,将除了demo开头的所有文件全部复制进项目的“asset”文件夹下的“iconfont”文件夹,没有的话自己新建文件夹
7、接下来用浏览器打开解压出来的文件夹里的demo_index.html,这些代码就是对应的每个图标,等下要用到
8、在代码中这样写,你的项目网页就会显示第一个图标,上图==  ==对应的那个图标
12345678<template> <sp ...
摄影 闪光灯同步(前帘同步,后帘同步,后期堆栈)
前言当需要进行长曝光拍摄,如前景和后景亮度差异较大的照片,或者拍摄记录运行轨迹的照片,又或者拍摄人像站在车流中的照片时,单纯的长曝光拍出的照片往往有些差强人意,这时候的拍摄就需要用到闪光灯同步技巧。先给大家展示一下不同同步方式的效果,再为大家介绍原理。
一、闪光灯同步成像结果 闪光灯同步原本是指相机与闪光灯能够正常工作下的最高快门速度,随着摄影技术的发展,现在衍生出前帘同步和后帘同步,统称为慢同步。
前帘同步 前帘同步是在快门完全开启的瞬间,开启闪光灯,随后熄灭,进行长曝光。
常用来拍摄前景亮度较低,后景亮度高的照片,如人像车轨。如果不使用前帘同步,而是直接长曝光,会出现后方车辆灯光太强过曝,而人物还是黑暗的情况。
后帘同步 后帘同步是先进行长曝光,然后在曝光结束的时候,快门开始关闭的瞬间,开启闪光灯。
常用来凸显物体的运动轨迹,但是同时可以清晰的记录物体的最后状态,如下图。如果不使用前帘同步,而是直接长曝光,不会记录到人物的具体形态,会全部是虚影。
三、后期堆栈实现闪光灯慢同步效果别问,问就是博主玩不起相机,只能用手机,而手机我目前使用过的没有见过支持闪光灯慢同步的。但是 ...
给兰姐姐的苹果爱思下载和使用教程
前言爱思助手 又称爱思苹果刷机助手,是一款专业的苹果刷机助手、苹果越狱助手。免费为苹果用户提供百万正版苹果软件,不越狱也能安装。 爱思助手是全球首款集一键查询shsh、一键备份shsh、一键刷机、一键越狱功能于一身的强大利器。
如何安装1、下载:请使用电脑查看本篇文章!!!要先在电脑上操作!!!
点击这里去官网下载爱思助手,进去以后点击这里下面图片标记的这里就开始下载啦
2、安装一定要看完再安装!!!
==首先双击下好的安装包==然后是这个样子,注意了!我们点一下这个“自定义安装”,会弹出来这样,然后把“C”改为“D”,改完以后像下面这样。然后点击“安装”
==安装完成后第一次进去是这样,会自动下载一些东西,等着==
开始操作啦==大概5分钟,等它自己完事儿==
信任电脑==然后,先把你的iPad屏幕解锁!!!然后用线把手机插在电脑上,这时候,手机屏幕上会马上出现“要信任此电脑吗?”,当然是“信任”啦==
...
Vuex.Store里mutations和actions的区别,并实现异步加载的延时计数器
前言mutations和actions都是Vuex.Store里定义函数的方法
mutations定义的函数的参数都有一个state,表示store里的整个state数据,同步加载
actions定义的函数里的参数是content,代表整个store对象,用于异步加载
先上代码在说话便于比较,我把mutations和actions写到了一起
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name=&qu ...
Vue动态路由的Query和Params传参方式
一、Query传参123456789101112131415161718192021222324252627282930313233343536<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>动态路由Query方式</title> <script src="vue.js"></script> <script src="vue-router.js&q ...