上课也总结了一些小知识点
一:像这种父类菜单,作用只有一个,就是提供对立的版本号
<parent>
<groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.2</version> <relativePath/> <!-- lookup parent from repository --></parent>
二:跳过测试类打包
<properties>
<java.version>1.8</java.version> <!--跳过测试类打包--> <skipTest>true</skipTest></properties>
三:springboot程序与以后mven打包/编译无关,没有build标签会呈现(没有主菜单的bug显示)
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins></build>
四:Ctrl+Shirt+alt+/ 关上热部署那个running文件(别忘了加依赖,带devtoops的那个)
五:Editstarer:搜寻依赖工具(或者去网站mavenrepositry)
六:无参和有参结构注解 要么不写,要么全写@NoArgsConstructor @AllArgsConstructor
七:对于lombok面试题:
因为lombok须要装置插件,否则程序无奈应用,如果在生产环境下 问linux零碎中是否须要提前装置lombok? 答案:不须要
起因:lombok插件在程序的编译期无效. 由.java文件编译为.class文件时无效。linux零碎中的运行时xxx.jar包文件 外部都是.class文件
八:%2B代表+
九:继承接口时,切记增加泛型
十:Ajax特点:部分刷新,异步调用。
.ajax()肯定要把握!!!案例如下8种类型下方!!!
(1)type : 定义申请的类型 GET/POST/PUT/DELETE
(2)URL: 指定申请的门路
(3)dataType: 指定返回值类型 个别能够省略
(4)data : ajax向后端服务器传递的数据
(5)success: 设定回调函数个别都会携带参数
(6)async: 异步操作 默认值为true 改为false示意同步操作.
(7)error: 申请异样之后 执行的函数.
(8)cache: ajax是否应用缓存 默认值为true
十一:Ajax出现常见四种办法:.ajax|.get(1.url网址,2.传递的参数,3.回调函数,4.返回值类型)|.post()|.getJSON()
十二:maven我的项目打包形式:1.jar包(默认值)2.war包(将依赖中的jar改成war)3.pom(聚合工程)
maven作用:
Maven我的项目对象模型(POM),能够通过一小段形容信息来治理我的项目的构建,报告和文档的项目管理工具软件。
Maven是一站式的我的项目的管理软件 次要的性能:我的项目的创立/jar包治理/我的项目打包/公布/部署等性能.
java编译过程: .java文件---------.class文件-------打包----(.class文件的汇合) xxx.jar
1).clean 清空maven中的target目录…
2).compile 通过命令 maven将.java文件转化为.class文件
3).install 将我的项目打包部署 将我的项目动静的在target和本地仓库中进行存储.
十三:因为我的项目较多,如何对立治理?
答案:采纳pom(聚合工程)的形式对立治理,打包形式POM
parent:父类jar包 关系:(继承)
common作用:工具API对立治理 关系:(依赖)
十四:分布式系统核心思想: 将我的项目的功能模块拆分到不同的tomcat服务器中,缩小了零碎架构的耦合性,进步了扩展性
十五:注意事项 父级我的项目中没有主启动类所有不须要增加build标签 有main办法时须要增加插件
十六:JAVA四大域对象和jsp九大内置对象总结(百度)
四大域对象排序:PageContext (page域) < request < session < servletContext(application域)
十七:mybatis plus官网(应用MP形式时能够查问配置类)
MP是利用对象的形式操作数据库
十八:写代码流程:先pojo 再mapper(Dao)层及代码(单表间接继承MP,别忘了泛型) 再service 和serviceImpl 最初再controller
十九:(当前工作)业务阐明:业务是什么
二十:kindeditor介绍
KindEditor是一套开源的HTML可视化编辑器,次要用于让用户在网站上取得所见即所得编辑成果(图片),兼容IE、Firefox、Chrome、Safari、Opera等支流浏览器。
二十一:RestFul的长处
面试题目: 当初越来越多的企业应用间接应用restFul形式实现业务传参. restFul有什么长处? 为什么不必传统的形式传递数据??
例子: 将业务数据动静的拼接到URL地址中.
http://localhost:8091/addUser/100/tomcat猫/18/女
惯例: http://localhost:8091/addUser?id=100&name=“tomcat猫”&age=18&sex=“女”
答案:
1.轻量,间接基于http 利用不同的申请的形式实现不同的CURD操作.面向资源,高深莫测,具备自解释性。
2.数据形容简略,个别以xml(当初用的大量 结构复杂),json做数据交换。
3.无状态,在调用一个接口(拜访、操作资源)的时候,能够不必思考上下文,不必思考以后状态,极大的升高了复杂度。简略、低耦合
二十二:动态代码块的作用:为属性赋值,初始化实例对象
------------------------------------nginx----------------------------------
二十三:反向代理特点(爱护了服务端信息)
反向代理服务器是介于用户和服务器之间的
用户间接拜访代理服务器,认为代理服务器就是实在的服务器.
用户不分明实在的服务器到底是谁.
反向代理是服务器端代理.爱护了实在的服务器信息.
反向代理次要的作用 拜访服务器取得服务器数据的.
二十四:正向代理特点(爱护了用户信息)
1.正向代理服务器介于用户和指标服务器之间
2.用户十分分明的晓得服务器网址是谁.
3.服务器端不分明实在的用户是谁.
4.正向代理个别都是客户端代理.爱护了用户的信息.
5.正向代理个别都是为了获取网络资源.例如路由器
二十五:nginx特点
1.占用内存少 tomcat服务器启动200M Nginx服务器启动时 2M
2.并发能力强 tomcat并发能力150-200左右 Nginx并发能力 3-5万/秒
3.Nginx次要的性能做反向代理
4.Nginx能够作为负载平衡服务器应用
二十六:Nginx命令
阐明: nginx的命令要求在nginx.exe所在的目录中执行.
1).启动命令 start nginx
2).重启命令 nginx -s reload
3).敞开命令 nginx -s stop
二十七:nginx配置阐明
编辑nginx配置文件必须在协定外部实现
#配置图片服务器server { #个别条件下都是80端口 listen 80; server_name image.jt.com; location / { # root代表映射文件目录 root E:/JT_IMAGE; }}#配置域名代理server { listen 80; server_name manage.jt.com; location / { #代理 服务器拜访地址 #proxy_pass http://localhost:8091; proxy_pass http://jtWindows; }}#构建tomcat服务器集群 #关键字: upstream 定义集群#默认规定: 1.轮询策略 2.权重 weight=阿拉伯数字 3.IPhash(个别在测试的时候应用,其余工夫不必)#down 如果nginx集中增加down属性 则标识nginx服务器不会再将申请,发给该服务器.#backup 该属性用来标识备用机,失常的状况下 用户不会再次拜访备用,除非以后服务器遇忙/以后服务器宕机.才有可能拜访备用机.# max_fails=1 设定最大的失败次数# fail_timeout= 失败的超时工夫# 如果nginx申请达到了最大的失败次数,则在规定的工夫内,不会再把申请发给tomcat服务器.直到下一个周期.upstream jtWindows { #ip_hash; server localhost:8081 max_fails=1 fail_timeout=60s; server localhost:8082 max_fails=1 fail_timeout=60s; server localhost:8083 max_fails=1 fail_timeout=60s;}
二十八:HOSTS文件介绍
作用: 在本机能够实现域名与IP地址的映射关系
地位: C:WindowsSystem32driversetc
能够通过软件右键管理员运行SwitchHosts批改hosts文件
二十九:我的项目公布DOS命令:先打包我的项目(能够打包整个,也能够分着打包)而后复制.war(target里),而后新建文件夹改war包名字
而后目录cmd输出 java -jar xxxx.war
阐明:如果我的项目公布之后鼠标左键点击dos命令窗口可能阻塞以后程序,通过ctrl+c勾销阻塞.
三十:
改完nginx须要重新启动一下,切记要重启之前先开启 启动完当前重新启动一下
报502是因为nginx开多了 解决办法:关上工作管理器完结过程树
三十一:Nginx过程项相干阐明
阐明: 每次启动nginx服务器时,都会启动2个过程项.一个是守护过程/一个是主过程
守护过程: 避免主过程意外敞开的. 内存小的
主过程: 次要提供反向代理服务. 内存大的
要敞开主过程首先要敞开守护过程
------------------------------------Linux-----------------------------------------
三十二:linux(服务器端操作系统)
去公司用库就用桥接模式
在家用本人电脑本人和本人玩 不须要第三方 就用NAT模式
三十三:对于Linux IP地址无奈获取阐明
阐明:因为Linux系统启动时可能没有重启网卡导致Linux IP无奈获取. 执行如何linux命令
1.service NetworkManager stop
2.chkconfig NetworkManager off 永恒敞开 Manager网卡
3.service network restart 重启network网卡
三十四:
绝对路径:要求从根目录登程(/) 例如:cd /aa
相对路径:从当前目录登程(xxx目录)例如 cd aa
命令之间要加空格
三十五:cd命令集
cd示意切换目录
clear革除命令
ifconfig/ip addr 查看IP地址
pwd 查看并显示以后的地位
tab键 主动补齐(留神唯一性)
cd命令是linux中最根本的命令语句,必须熟练掌握
cd / 返回根目录
cd ~ 用户主目录
cd . 当前目录
cd ..返回到上一级目录
cd /usr/ 进入到usr目录
cd – 返回上一个目录
cd 间接回家
三十六:ls目录和文件
ls –l 具体格局,文件权限,工夫
ll 和ls –l作用雷同
ls *.txt 查看所有的txt类型文档
三十七:目录操作
mkdir --help 申请帮忙
mkdir 创立目录
mkdir a 创立 a目录
mkdir -p a/b 创立 a目录,并在a目录里创立b目录
mkdir -m 777 c 创立一个权限为777的C目录
rmdir 删除目录(如果目录里有文件,则不能用此命令)
三十八:Vi/vim创立(用的最多,Vi能够疏忽不必)/查看/编辑文件
命令行:Esc切换到命令行模式。
编辑模式:
按i,在光标前开始编辑
按a,在光标后开始编辑
按o,在以后行的下一行开始编辑
按u, 撤销之前的操作
底行模式:按 shift+:冒号。
:q! 不保留退出
:wq 保留退出
:/world 从以后光标处,向上查找world关键字
:?world 从以后光标处,向后查找world关键字
三十九:删除文件
rm 删除文件
rm n.txt 提醒y删除n放弃
rm –f n.txt 不提醒
rm –rf dirname 不提醒递归删除目录下所以内容
rm –rf * 删除所有文件
rm –rf /* 删除所有子目录所有和文件
四十:复制和挪动文件
cp复制文件
cp nginx.conf n.txt
cp –R tomcat1 tomcat2 #复制整个目录
mv 批改文件名,挪动文件
mv n.txt m.txt 批改文件名称
(例如mv a.txt a/c.txt 意思是:挪动a.txt 到a目录下并且改名为c.txt)
四十一:浏览文件
cat 输入文件所有的内容 能够检索大量的日志文件
more 输入文档所有的内容,分页输入,空格浏览下一屏,q退出
less 用法和more雷同,只是通过PgUp、PgOn键来管制
tail 用于显示文件后几号,应用频繁(tail -10 xxxx.log 显示xxxx的最初十行日志信息)
tail -10 nginx.conf 查看nginx.conf的最初10行
tail –f nginx.conf 动静查看日志,不便查看日志新增的信息
ctrl+c 完结查看
四十二:打包命令
tar命令位于/bin目录下,它可能将用户所指定的文件或目录打包成一个文件,但不做压缩。个别Linux上罕用的压缩形式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成name.tar.gz的文件。
-c 创立一个新的tar文件
-v 显示运行过程的信息
-f 指定文件名
-z 调用gzip压缩命令进行压缩
-t 查看压缩文件的内容
-x 解开tar文件
tar –cvf n.tar ./* 压缩当前目录下的所有文件和目录,文件名为n.tar
tar –xvf n.tar 解压压缩包中的文件到当前目录(如果长时间未解压胜利 Ctrl+C推出)
tar –cvzf m.tar.gz ./* 压缩文件
tar -zxvf m.tar.gz 解压m.tar文件到当前目录
压缩:tar -cvf a.tar ./*
解压:tar -xvf a.tar
四十三:grep命令
grep root /etc/passwd 在文件中查找关键字root
grep root /etc/passwd –-color 高亮显示
grep root /etc/passwd –A5 –B5 高亮显示,A后5行,B前5行
grep -n root /etc/passwd 查找并显示行数
grep -v root /etc/passwd 取反,查出不含root的数据
四十四:编辑JDK环境变量
阐明: Linux中须要配置环境变量
文件地位:/etc(高级零碎环境变量)/profile(包含了linux零碎环境变量的配置信息)
编辑文件命令:vim /etc/profile
设定jdk环境
export JAVA_HOME=/usr/local/src/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib
让环境变量失效命令(重启环境变量): source /etc/profile
----------------------------linuxmysql------------------------------
步骤:先安jdk,再安mysql,再批改权限,再敞开防火墙
具体参考csdn博客
四十五:mysql数据库命令(详情请看CSDN闪耀太阳博客对于linux零碎mariadb的装置)
万能组合键ctrl+c(勾销所有)
yum是linux里的软件商城
1.启动命令 [root@localhost src]# systemctl start mariadb
2.重启命令 [root@localhost src]# systemctl restart mariadb
3.敞开命令 [root@localhost src]# systemctl stop mariadb
4.设定开机自起 [root@localhost src]# systemctl enable mariadb
5.敞开开机自起 [root@localhost src]# systemctl disable mariadb
cd /var/lib/mysql/ 切换到mysql目录
四十六:如果要用sqlyog连贯数据库,须要敞开权限和防火墙
权限:
update user set host="%" where host="localhost"; 用sql语句凋谢权限
select host,user from user; 查问主机地址从用户表中
flush privileges; 刷新权限
防火墙:
firewall-cmd --state 查看防火墙状态
需要: 通知linux零碎当前开机不须要启动防火墙
命令:
1.systemctl disable firewalld.service
2.systemctl enable firewalld.service
手动敞开防火墙
阐明:通过命令手动将防火墙敞开
命令:
1.systemctl stop firewalld.service
2.systemctl start firewalld.service
重启防火墙
firewall-cmd --reload
我的项目上传:
阐明: 通过Linux命令 java -jar 8081.war 的形式能够启动服务器.
毛病: 将以后的终端占用了,如果须要执行后续的Linux命令 则须要从新开启终端… 用户体验不便
敞开服务器: ctrl + c
带&的命令
命令: java -jar 8081.war &
解释: &号代表连贯. &之前的命令执行胜利之后,点击回车能够继续执行后续的命令.
毛病:
1.如果服务器须要打印日志信息,则以后的终端仍然会被占用.
2.通过java -jar 形式 示意前台启动.如果客户端的终端敞开,则服务随之敞开…
后端运行命令(当前要用的)
命令: nohup java -jar 8081.war -> 8081.log &
长处:
1.程序的运行不受终端的影响.
2.程序运行都会在后端生成日志信息,不会再次烦扰终端应用.
当前我的项目公布倡议采纳后端运行的形式.
对于服务检索命令
命令: ps -ef |(管道) grep 服务名称
命令: jps 仅检索带war包的
管道技术的含意:前边查问的后果当做后边的参数来应用
命令: kill PID号 完结过程
kill -15 PID号 较为强硬的完结
kill -9 PID号 终极命令
四十七:利用shell脚本公布我的项目(当有很多个我的项目须要公布时)
步骤:
首先在我的项目根目录输出命令 vim start.sh
而后点i进行插入
而后输出#!/bin/sh
而后输出后端发布命令(nohup...很多我的项目就复制)
而后按esc
而后:wq保留退出
而后通过输出命令 sh start.sh 进行应用
权限有余:加sudu(临时应用超级管理员)
--------------------------------------linuxNginx----------------------------------
步骤:先装置nginx 在批改conf文件 在批改hosts文件(如果有域名就不必批改hosts) 再重启拜访(切记要在工作目录(nginx/sbin)而不是源码目录(nginx-source))
具体参考博客
1.启动命令: ./nginx
2.重启命令: ./nginx -s reload
3.敞开命令: ./nginx -s stop
--------------------------------------批改虚拟机ip地址----------------------------------
步骤:筹备两台虚拟机(间接在原目录中解压一份即可),而后查看(包含ping ipconfig ipaddr)
{如果没有IP展示则执行如下的命令
service NetworkManager stop
chkconfig NetworkManager off 永恒敞开 Manager网卡
service network restart 重启network网卡}
而后批改ip地址(切记要在从虚拟机上改130因为改完能力连)步骤:
找到IP地址的目录
cd /etc/sysconfig/network-scripts/
而后ls
而后vim ifcfg-ens33
而后按i批改ip地址为192.168.126.130
而后esc :wq保留退出
而后重启网卡 查看ip地址是否正确
而后通过Mobaxterm通过ip连贯
从机只须要装置mysql数据库即可,(不会参考csdn闪耀太阳)
而后启动数据库将数据库设置为开机启动,
而后凋谢权限(通过sql语句),敞开防火墙(systemctl stop/disable firewalld.service),将防火墙设置成默认不开启(因为这样能力连贯上数据库)
阐明:
- 如果须要近程链接数据库必须通过防火墙
- 如果近程链接数据库,数据库中必须开启近程拜访权限才行,否则回绝链接.
------------------------------------数据库备份-------------------------------------
数据库备份分为冷备份和热备份
冷备份阐明
业务场景: 数据库中的记录应该保障尽可能的平安,如果数据失落则会造成不可挽回的损失!!!
阐明: 依据用户的需要 定期的将数据库文件进行备份/转储 从而保证数据的平安.
毛病:
1.该操作须要人工手动的操作
2.冷备份因为不是实时的,所以可能导致数据失落…
3.如果备份的数据库的文件较大,则备份的工夫很久,容易出错.
阐明: 数据的冷备份是公司复原数据最初无效的伎俩.
热备份阐明
备份步骤:
1.当用户进行了数据的批改时,会将批改的数据写入二进制日志文件.
2.从库通过IO线程 读取主库中的记录.将数据写入到中继日志中.
3.Sql线程读取数据信息.通过sql语句写入到从库中.
数据库备份的性能,是数据库原生自带的服务.所以不须要第三方的干涉…
注意事项: 数据库中的二进制日志文件 默认的条件下是敞开的.如需备份,须要手动的开启.
二进制文件地位: vim /etc/my.cnf
定义mysql服务编号 要求必须惟一
server-id=1
定义mysql二进制文件名称
log-bin=mysql-bin
而后重启数据库并查看二进制文件信息
systemctl restart mariadb
而后ls查看
而后实现数据库热备份
一: 首先查看主库(129)
/主库 次要主库重启了就会生成新的二进制文件信息/
命令:SHOW MASTER STATUS;
二: 而后再从库中(130)
/*130 数据库从库 IP地址/端口号/用户名/明码/
二进制文件名称/二进制文件的地位*/
CHANGE MASTER TO MASTER_HOST="192.168.126.129",
MASTER_PORT=3306,
MASTER_USER="root",
MASTER_PASSWORD="root",
MASTER_LOG_FILE="mysql-bin.000001",
MASTER_LOG_POS=245;
/2.启动数据库主从服务/
START SLAVE;
/3.查看主从的状态/
SHOW SLAVE STATUS;
/4.搭建谬误 1).敞开主从服务 /
/4.1 敞开主从服务/
STOP SLAVE;
/4.2 查看报错信息 last_sql_error last_io_error 依据日志查问状态/
/4.3 从新搭建主从服务 /
{主库重启了就会生成新的二进制文件
rm -rf mysql-bin.* 意思是删除多余的二进制文件
SHOW MASTER STATUS; 意思是查看主库状态}