第四阶段个人上课总结(j还在进行中)

上课也总结了一些小知识点

一:像这种父类菜单,作用只有一个,就是提供统一的版本号

    org.springframework.boot
    spring-boot-starter-parent
    2.4.2
     

二:跳过测试类打包

    1.8
    
    true

三:springboot程序与当前mven打包/编译有关,没有build标签会出现(没有主菜单的bug显示)


    
        
            org.springframework.boot
            spring-boot-maven-plugin
        
    

四: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. 如果远程链接数据库,数据库中必须开启远程访问权限才行,否则拒绝链接.

------------------------------------数据库备份-------------------------------------
数据库备份分为冷备份和热备份

   冷备份说明

业务场景: 数据库中的记录应该保证尽可能的安全,如果数据丢失则会造成不可挽回的损失!!!
说明: 根据用户的需求 定期的将数据库文件进行备份/转储 从而保证数据的安全.
缺点:
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; 意思是检查主库状态}

你可能感兴趣的:(总结)