Java0808
2022-11-17 19:09:25 0 举报
AI智能生成
学习资料
作者其他创作
大纲/内容
第一阶段
第一章:软件开发知识讲解
什么是软件
什么是硬件
输入设备
输出设备
软件开发思想
面向过程编程
面向对象编程
面向服务编程
面向微服务编程
面向数据编程
软件开发模式
图
B/S架构
C/S架构
前后台 中台
中台的类型
业务中台
技术中台
数据中台
软件测试(bug)
白盒测试
黑盒测试
灰盒测试
集成测试
压力测试
单元测试
……
软件开发框架
JAVA
Spring
SpringBoot
SpringMVC
Mybits
微服务框架
SSM
大数据
Hadpoop
Spark
前端
VUE、React
JAVA语言特点
简单易学
跨平台
安全性
多线程
丰富的类库
JAVA基本概念
类class
对象
软件开发流程
以前的软件开发流程
现在的软件开发流程
第二章:计算机基础知识
机器语言--二进制
十进制-->二进制
二进制-->十进制
Java之父--詹姆斯高斯林
Java安装
jdk
jre
JVM
Java自带的类库
编译器等开发工具
配置环境变量
JAVA_HOME
CLASSPATH
PATH
检验是否成功
Windows+R-->CMD-->回车
Java
Java -version
javac
java的第一个程序
project工程
package1
java文件1
java文件2
java文件3
。。。
package2
package3
package...
JAVA基本语法
注释
单行注释//
多行注释
文档注释
标识符的命名规则
1.不能和关键字重复
2.不能以数字开头
3.只能由字母,数字,_,$组合
数据类型
八大基本数据类型
整数数据类型
byte
Byte
short
Short
int
Integer
long
Long
浮点数据类型
float
Float
double
Double
布尔类型boolean
Boolean
字符类型char
Character
类型转换问题
自动类型转换
强制类型转化
引用数据类型
类
Java自带的类库
Scanner
nextInt()
nextByte()
nextShort()
nextLong()
nextFloat()
nextDouble()
nextBoolean()
next()
nextLine
String
String a = "scdisf"
String a = new String("scsfddv")
==
equals
StringBuffer
append()
StringBuilder
append()
自己写的类
数组
定义
指定长度
指定内容
类型
byte[]
0
short[]
0
int[]
0
long[]
0
float[]
0.0f
double
0.0d
char[]
0u0000
boolean[]
false
类数组
null
数组遍历
通过数组下标,下标从0开始,到数组的长度(数组名称.length())结束,使用for循环遍历
foreach方式
使用Arrays数组操作类里面的toString方法
使用Arrays数组操作类里面的sort方法排序
对于整型数组按照数字大小排序
对于浮点类型的数组按照数值大小排序
对于字符类数组按照ASCII码顺序排序
一维数组
二维数组
接口
运算符
算术运算符
+
+=
-
-=
*
*=
/
/=
%
%=
++
i++
++i
--
i--
--i
赋值运算符=
比较运算符
>
<
>=
<=
==
!=
逻辑运算符
取反!
逻辑与&&
逻辑或||
位运算符
位运算与&
位运算或|
位运算异或^
位运算非~
左移位运算<<
右移位运算>>
逻辑结构
顺序结构
选择结构
单分支选择if
if语句
if-else语句
if…else if…else
多分支选择switch-case
循环结构
for
例题
*5行7列
*5行4列
while
代码
水仙花
k的数量相等&19倍数
12以内5个1
代码
do-while
代码
break和continue
break;
continue;
代码
第三章面向对象
面向对象只是一种编程思想
特点
封装
get方法
set方法
继承
方法重写
单继承
格式
继承指的是类与类之间
super
this
多态
面向对象,面向过程
面向过程
面向对象
类与对象
类
对象
关系
方法function
方法的定义
方法的调用
方法名
大驼峰命名法
小驼峰命名法
方法重载
形式参数个数不同
形式参数类型不同
关键字
权限关键字
public
protected
默认
private
static关键字(静态的)
可以修饰方法
可以修饰属性
可以修饰类
final
类
方法
属性
instanceof
构造器
有参构造器
定义格式
无参构造器
注意事项
抽象类
抽象方法
普通方法
子类必须重写父类的抽象方法
抽象类不能实例化
接口
所有的方法都为抽象类
所有的属性都为常量
子类可实现多个接口
接口不能实例化
包装类
装箱
拆箱
最大的父类Object
第四章 异常处理与常用类库
常用类库
Math类
属性
圆周率
e值
行为
求绝对值方法abs
ceil(小数)
floor(小数)
round(小数)
sqrt(小数)
pow(x,y)
Date类
Date
SimpleDateFormat
String Format(Date date)
Date parse(String b)
Calendar
构造方法是protected
get (int field)
Calendar.YEAR
Calendar.MONTH
Calendar.DAY_OF_MONTH
Calendar.DAY_OF_WEEK
Calendar.DAY_OF_YEAR
Calendar.HOUR
Calendar.HOUR_OF_DAY
Calendar.MINUTE
Calendar.SECOND
字符串类
String类
StringBuffer类
StringBuilder类
char CharAt(int index)
int indexOf(String aim)
length
StringBuffer replace(int start,int end, String aim)
void setCharAt (int index, char c)
数组操作类Arrays
sort排序
toString
hashcode()
fill(数组名,填充值)
随机数类Random
r.nextInt()
r.nextInt(int bound)
r.nextLong()
r.nextDouble()
r.nextFloat()
异常处理
异常的概念
捕获和处理异常
结构
一个try可以对应各catch
注意
声明异常
throws
可以声明多个可能发生的异常
放置在方法名与形参的后面
抛出异常
抛出单个异常
精确什么情况下会有异常,并提示信息
throw new 异常类(“提示信息”)
在方法体内
异常分类
编译异常(受检异常)
运行时异常(非受检异常)
异常处理
自定义异常
类
继承Exception
受检异常
第五章 泛型与集合
泛型
泛型的引用
所有的类继承object
public class 类名<T>
限制性泛型
public class 类名 <T extends 类名>
通配符泛型
泛型方法
返回值类型为泛型
参数为泛型
集合
list
ArrayList
优点
缺点
增
add方法
boolean add (E e)
void add(int index,E e)
addAll()
删
clear()
contains(object o)
remove方法
remove(int index)
remove(object o)
removeAll(列表名)
改
set(int index, object o)
查
get(int index)
indexOf(object o)
isEmpty
size
LinkedList
优点
缺点
适用场景分析
set
HashSet
add
remove
contains
isEmpty
clear
size
LinkedHashSet
TreeSet
map
HashMap
LinkedHashMap
TreeMap
HashTable
遍历map
1.获取map当中所有的key值,并存在一个set集合当中
2.遍历set集合
3.根据set集合当中的key使用get方法获取对应的value值
方法
添加put(key,value)
查get (key)
查containValue(value)
查size()
删除remove(key)
改replace(key,value)
查isEmpty()
collection
集合遍历
for-each
迭代器
在Map中只能使用迭代器
类重写equals与方法hashcode方法
第六章IO流与多线程
IO流
IO流用来处理设备之间的数据传输
分类
按照操作的数据分类
字节流
InputStream
FileInputStream
BufferedInputStream
OutputStream
FileOutputStream
BufferedOutputStream
字符流
Reader
FileReader
BufferedReader
Writer
FileWriter
BufferedWriter
按照流向分类
输入流
Input
FileInputStream
BufferedInputStream
FileReader
BufferedReader
输出流
Output
FileOutputStream
BufferedInputStream
FileWriter
BufferedWriter
按照角色分类
文件
file
FileInputStream
FileReader
FileOutputStream
FileWriter
缓冲区
Buffered
BufferedInputStream
BufferedReader
BufferedInputStream
BufferedWriter
获取当前系统时间毫秒
文件路径
相对路径
绝对路径
文件操作
CreateNewFile
创建目录
mkdir()
mkdirs()
delete()
String[] list
isFile()
isDirectory
exists
多线程
并发与并行
并发
并行
进程与线程
进程
线程
实现多线程
第一种方式 继承Thread
继承Tread类
重写Run
实例化线程子类
开启线程
第二种方式 实现Runable接口
1.实现Runnable接口
2.重写run方法
3.创建子类对象
4.实例化Thread对象
5.通过Thread对象调用start方法,启动线程,执行run方法
同步锁synchronized
关键字
同步块
线程的生命周期
创建
就绪
执行
堵塞
死亡
Thread常用方法
sleep()
currentThread()
getName()
isAlive()
stop()
第七章 数据库技术
分类
DDL数据定义语言
create语句
create database数据库名称
create table 表名
alter table语句
添加列
修改列
删除列
重命名列
重命名表
drop语句
删除列
删除表
desc语句
DML数据操作语言
DQL数据查询语言
DCL数据控制语言
数据类型
int
char
varchar
Float
Double
Date
DateTime
BLOB
TXET
键性约束
主键约束primary key
唯一性约束 唯一约束:unique
外键约束
非空约束 not null
索引
主键索引
唯一索引
普通/单列索引
全文索引
复合索引
唯一索引复合
普通复合索引
优缺点
优点
1创建索引可以大幅提高系统性能,帮助用户提高查询的速度;
2.通过索引的唯一性,可以保证数据库表中的每一行数据的唯一性;
3.可以加速表与表之间的链接;
4.降低查询中分组和排序的时间。
缺点
创建索引
alter table 表名 add 索引类型 ‘索引名称’(索引的列)
删除索引
alter table 表名 drop 索引类型 索引名
SQL的存储过程
SQL指令的执行过程
1.编写并执行指令
2.通过数据库连接将SQL指令发送至数据库
3.数据库接收SQL指令
4.通过数据库引擎编译并运行SQL指令
5.通过数据库连接将结果发送给navicat
6.navicat显示结果
存储过程的优点
1. SQL指令⽆需客户端编写,通过⽹络传送,可以节省⽹络开销,同时避免SQL指令在⽹络传输过程中被恶意篡改保证安全性;
2. 存储过程经过编译创建并保存在数据库中的,执⾏过程⽆需重复的进⾏编译操作,对SQL指令的执⾏过程进⾏了性能提升;
3. 存储过程中多个SQL指令之间存在逻辑关系,⽀持流程控制语句(分⽀、循环),可以实现更为复杂的业务;
存储过程的缺点
存储过程是根据不同的数据库进⾏编译、创建并存储在数据库中;当我们需要切换到其他的数据库产品时,需要重写编写针对于新数据库的存储过程;
创建存储过程
调用存储过程
查看存储过程
删除存储过程
变量
局部变量
用户变量
存储过程执行SQL语句
增
删
改
查
存储过程的结构
选择结构
if
if-else
循环结构
顺序结构
查select
单表查询
过滤语句where
>
<
>=
<=
=等于
!=或者<>
between...and...
is null
is not null
in()
not
and
or
any
all
模糊查询
分组group by
聚集函数
sum
count
avg
max
min
having过滤
排序order by
多表子查询
连接查询
内连接
不满足连接条件的数据两表不会显示
外连接
左外连接
右外连接
满外连接
自连接
分页查询
增语句
删除语句
更新语句
数据库事务
特性
原子性
一致性
永久性
隔离性
条件
查看数据库信息
更改数据库引擎
步骤
开启事务start transaction
多条DML语句
提交事务COMMIT
第二阶段
vscode配置
1.Chinese 中文简体
2.Auto close Tag
3.Auto Rename Tag
4.open in brower
5.下载谷歌浏览器,设置默认浏览器谷歌
html
主体结构
html标签
head标签 双标签
设置编码格式
title标签 双标签(有开始标签,有结束标签)
导入外部文件
body标签 网页的主体内容
标签
双标签
head
title
body
标题标签h1~h6
段落标签p
文本标签span
列表标签
有序列表
type
1
I
i
A
a
无序列表
type
实心圆(默认)
正方形square
空心圆circle
自定义列表dl
dt
dd
列表的内容
dd
dd
链接标签a
target
title
name锚点
href
video视频标签
autoplay
loop
controls
src
audio音频标签
单标签
meta
br
hr水平线标签
color
16进制数字
rgb
关键字
rgba
size
多媒体标签
img图片标签
src
alt
video视频标签
audio音频标签
路径问题
相对路径
绝对路径
特殊的符号
空格
> >
< <
" "
版权号 ©;
表单form
input
text文本
password密码
radio单选框
checkbox复选框
number
email邮箱
日期
date
datetime-local
month
week
time
range进度条
submit提交按钮
reset重置
image
file上传文件
hidden
value
name
size
button
textarea
rows行
cols列
下拉框select
option
option
option
表格标签table
tr行
td列
thead
tbody
表格边框border
内边距cellspacing
宽度高度
表格位置设定align
left靠左
center居中
right靠右
框架标签
frameset
frame
frame
自定义框架标签iframe
CSS
引入方式
行内样式表
嵌入样式表
外部引用方式
选择器
id选择器
类名选择器
标签选择器
后代选择器
通用选择器
群组选择器
伪类选择器
a:hover
a:active
a:link
a:visited
解释
伪元素选择器
before
after
优先级
选择器的特殊符号
A>B
A B
属性
字体
font-size
font-weight
font-family
font-style
color
line-height
text-align
letter-spacing
背景
background
background-image
background-color
background-repeat
background-attachment
background-size
背景图片尺寸
边框
border
border-width
border-style
border-color
border:1px solid #333
边框
定位
相对定位
绝对定位
盒子模型
margin外边框
居中
border边框
border-radius
圆角边框
padding内边距
第三章javaScript
js承载网页的行为
引入方式
script标签
src导入
输出方式
alert()
console.log()
注意事项
在js当中+默认是字符串拼接
如果要计算整数的和 需要parseInt转换
小数parseFloat
js是弱类型语言,定义变量使用var,let即可
js事件
单击事件
onclick
鼠标覆盖事件
onmouseover
鼠标双击事件
ondbclick
鼠标移入
onmouseenter
鼠标离开
onmouseleave
在js当中获取元素的方式
document.getElementById
document.getElementsByName
document.getElementsByClassName
document.getElementsByTagName
value
innerText
innerHtml
style.cssTsxt
arguments
对象名:target.innerText()
function函数
定义
方法调用
setInterval
逻辑结构
if语句
for循环
while循环
switch语句
逻辑运算符
正则表达式
哪里可以用到正则表达式
如何在js中使用正则
方式1:实例化内置类
方式2:字面量方式
匹配边界
^开始
$结束
原子
\d 一个数字(原子 最小的字符单位)
\D除了数字以外的任意字符
\s一个空格
\S 除了一个空格以外的
\w 一个数字 字母 连字符
\W
原子表
[aeiou]
[1-6]
[a-z]
[1-6a-z]
[^1-6]
量词
{5} 5个
{1,}一个以上
{2,10}二到十个
* 0个或多个{0,}
+ 1个或多个{1,}
? 0个或1个 {0,1}吝啬,尽量少的匹配
常用类
Date
获取年:对象名:getFullYear()
获取月:getMonth()+ParseInt(1)
获取日:getDate()
获取周几:getDay()
获取小时:getHour()
获取分钟:getMinute()
获取秒:getSecond()
number
Math
Array
第四章
创建web项目
Tomcat 7.0
web 3.0
Servlet
doGet()
doPost()
get请求与post请求的区别
get
post
Servlet生命周期
init
service
destroy
Servlet3.0注解开发
@WebServlet("/A")
@WebServlet(name="a",urlPatterns={"/A","/B","/C"})
Servlet中的对象及方法
request
request.getParameter("userName")
request.setCharacterEncoding("utf-8");
username = new String(username.getBytes("iso8859-1"), "utf-8");
request.setAttribute("err", username);
request.getRequestDispatcher("login.jsp").forward(request, response);
${requestScope.err}
response
重定向
response.sendRedirect("RoomServlet?method=show");
response.getWriter().print("执行js方法");
jsp与html的区别
jsp支持Java脚本语言
jsp支持EL表达式
${requestScope.err}
jsp有很多内置的对象
jsp支持引用标签
jsp中遍历列表
导入两个jar包
standard.jar
jstl.jar
在jsp当中<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
jsp九大内置对象
out输出对象
request请求对象
response对象
session对象
application对象
pageContext对象
config对象
page对象
exception对象
jsp的四大作用域
page当前对象
request请求对象
session会话对象
发送session
获取session
application全局对象
过滤器
1.实现Filter接口
doFilter
2.@WebFilter("/*")
3.获取路径String path = HttpServletRequest.getServletPath();
4.过滤器放行chain.doFilter(ServletRequest, ServletResponse);
cookie
存储客户端
cookie一般都是自己定义的时效
cookie默认所存储的值是字母和数字的组合
记住密码的方式
1.创建cookie
2.设置cookie存活时间
3.将cookie响应到客户端
4.客户端接受cookie
验证码
css
verify.css
js
jquery-1.11.0.min.js
verify.js
images
属性
type验证码的类型
defaultNum : 4, //默认的文字数量
checkNum : 2, //校对的文字数量
vSpace : 5, //间隔
imgName : ['1.jpg', '2.jpg'],
imgSize : {
width: '400px',
height: '200px',
},
width: '400px',
height: '200px',
},
barSize : {
width : '400px',
height : '40px',
},
width : '400px',
height : '40px',
},
success:{function (){};}
同步与异步
区别
同步
整体页面发生改变
地址栏改变
异步
整体页面局部改变
地址栏不变
异步请求实现方式
1.导入jquery
2.让请求在js当中发生
3.使用jquery异步方法
$.get()
$.post
$load
$("div").load("jsp");
response.getWriter().print("<script>parent.roomshow()</script>");
$.ajax
type
url
dataType
async
data:{"method":"show"},
success:function(req){}
error:function(data){
//请求出错处理
}
beforeSend:function(data){
//请求前的处理}
//请求前的处理}
complete:function(data){
//请求完成的处理
//请求完成的处理
文件上传与下载
文件上传
单文件上传
获取得到的文件
获取的到文件的信息
写入文件到指定路径下方
多文件上传
获取多文件的集合
上传数据库
Servlet3.0注解版开发将所上传的文件指定路径
文件下载
下载已存在的内容
创建SmartUpload对象
触发浏览器的下载功能
执行下载内容
下载数据库的文件
第五章
LayUI
layui
jquery版本必须在1.8以上
<link rel="stylesheet" href="layui/css/layui.css">
<script type="text/javascript" src="layui/layui.js"></script>
属性
1.有table lay-filter = “demo”
2.thead:th th th
3.tbody
layui.use
开启分页page: true,
toolbar: '#toolbarDemo' ,//开启头部工具栏,并为其绑定左侧模板
sort:true
sort:true
type:'radio'
type:'checkbox'
layer
jquery版本必须在1.8以上
<script type="text/javascript" src="layui/layui.js"></script>
<link rel="stylesheet" href="layui/css/layui.css">
type: 2,//1:显示文本(默认)。2:网页内容
title: '添加页',//弹出框的标题
skin: 'layui-layer-lan',//设置layer弹出框的风格
maxmin: true, //开启最大化最小化按钮
closeBtn: 0, //不显示关闭按钮
anim: 3,//弹出框显示动画
shade: 0.1,//0---1主页的遮罩层透明度
area: ['50%', '50%'],//弹出层占整体页面的宽度与高度
content: 'jsp/adminView/add.jsp' ,//iframe的url
end:function (){//弹出层结束之后执行的内容
roomshow()
}
roomshow()
}
第六章图表
1.导入jar包
jcommon-1.0.13.jar
jfreechart-1.0.10.jar
jfreechart-1.0.10-experimental.jar
jfreechart-1.0.10-swt.jar
jfreechart-1.0.10-swt.jar
2.更改web.xml配置信息
3.页面请求
4.编写后台代码
5.生成图片
柱状图
饼图
折线图
第三阶段
第一章:Mybatis
Mybits介绍
Mybits如何实现持久框架搭建
1.将Mybits jar导入资源项目中
2.将mybits的配置文件加入到项目中
2.1 mybits-config.xml
2.2 jdbc.properties
3.mybits代码编写工厂化
3.1工厂化的工具类
SqlSessionFactoryUtil.java
3.2 创建Mapper接口
3.3 创建Mapper.xml
3.4 在service层进行对接mybits数据即可
4.在mybits当中mapper的CRUD
select
insert
update
delete
一对一
一对多
5.mybatis-config.xml的配置信息
配置log4j日志
准备环境
log4j-1.2.16.jar
log4j.properties
Loggers(记录器),
Appenders (输出源)
Layouts(布局)
6.mybits的动态SQL
介绍
if
choose,when,与otherwise
where条件
trim条件
prefix:为sql语句整体增加一个前缀
prefixOverrides:去除整体sql语句前面多余的字符串
suffixOverrides:去除整体sql语句后面多余的字符串
suffix:为sql语句整体增加一个后缀
匹配多个时,中间加"|",如suffixOverrides="and | or"
foreach循环
set条件
7.mybits注解的CRUD
7.1 基础映射语句
@Insert
@Select
@Delete
@Update
7.2 结果集映射语句
7.3 注解开发的一对一和一对多
一对一
one=@One(select="com.aaGradeMapper.a")
一对多
many=@Many(select="")
第二章:SpringMVC
1.介绍
2.如何搭建
2.1 将SpringMvc 的jar 包 和配置文件 导入到项目中
2.2 在web.xml文件中 配置filter 信息
2.3 .Spring-mvc.xml
2.4 登录功能使用SpringMvc
2.4.1 修改servlet注解
2.4.2 修改spring-mvc.xml
2.4.3 doPost方法改为login,并且方法前加注解@RequestMapping("login")
2.4.4 修改表单提交
2.4.5 开放过滤器
2.4.6 创建请求层次感
3.springMVC的返回方式
1.通过Servlet中 getRequestDispatcher 方式进行转发页面
2.SpringMvc 针对 Servlet 的转发 和重定向支持
Redirect重定向
redirect
Dispatcher转发
forward:
3.通过SpringMvc 自身的字符串 转发页面
需要结合 视图解析器
4.实体+视图 ModelAndView + 还和视图解析器 结合使用了
4.SpringMvc 如何接收页面请求的参数
1.通过Servlet 的 request 对象接受页面的参数
2.作为访问方法的参数 直接自动获取
基本和引用
实体类的方式也可以直接接受整个实体类
5.SpringMvc 后台接受参数的方式
1.绑定参数列表方式
2.实体类接收方式
3.request对象
4.数组接收格式
5.list接收
6.map接收
6.Mvc 常用注解
@Controller
@RequestMapping("student")
@GetMapping
@PostMapping
@RequestParam
第三章:Spring
1.Spring介绍
目标
初衷
Spring的基本组成:
2.Spring 单独框架配置
1.准备Spring 的支持jar包
2.bean.xml 文件是处理类和接口关系的
3.加载文件创建对象
3.Spring的基本组成:
1、最完善的轻量级核心框架。
2、通用的事务管理抽象层。
3、JDBC抽象层。
4、集成了Toplink, Hibernate, JDO, and iBATIS SQL Maps。
5、AOP功能。
6、灵活的MVC Web应用框架。
4.SpringIOC
1spring ioc 简介
2.spring ioc 实例讲解
3.装配一个 bean
4.依赖注入
1,属性注入;
基本数据类型
引用数据类型
集合
list
map
set
2,构造函数注入;(通过类型;通过索引;联合使用)
1、使用构造方法的参数名称进行注入值
2、使用构造方法参数的下标注入值
3、使用默认的构造方法的参数的顺序注入值
3,工厂方法注入;(非静态工厂,静态工厂)
4,泛型依赖注入;(Spring4 整合 Mybatis的时候顺带讲)
Spring模式
单例模式
饿汉模式
懒汉模式
多例模式
5.注入参数
1.注入基本数据类型
2.注入bean
3.内部bean
4.注入null值
5.级联属性
6.集合类型属性
list
map
set
7.Spring自动装配
8.方法注入
9.方法替换
10.bean之间的关系
继承
依赖
引用
11.bean的作用范围
使用Spring 和Myabtis 理念 面向接口开发
4.1 面向接口
service 业务层
dao 数据层 也叫持久层
4.2 对象耦合度问题
要求不可以new 对象
5.Spring整合三大框架
1.准备所有需要的jar包
2.三个框架的配置文件写入到项目中
applicationContext.xml
spring-mvc.xml
web.xml
com.util下方的工厂类,用不到
Mybits-config.xml
3.实现Spring的自动注入
6.SpringAOP
介绍
面向切面编程步骤
1.将AOP 所需要的jar 导入
spring-aop-4.0.6.RELEASE.jar
spring-aspects-4.0.6.RELEASE.jar
spring-beans-4.0.6.RELEASE.jar
2.在applicationContext.xml中加入头部声明
3.applicationContext.xml文件的配置信息
配置事务独立功能切面
AOP的实例
1.前置通知
2.后置通知
3.环绕通知
4.返回通知
5.异常通知
7.在Spring 中常用的一些注解
Mybatis 的注解
@Service
@Resource
@Autowired注解
区别
Mvc 常用注解
@Controller
@RequestMapping(“user”)
@RequestMapping(“login.do”)
@RequestMapping(value=“login.do”,method=RequestMethod.POST)
8.Spring 事务
事务介绍
事务特性
原子性
一致性
隔离性
持久性
回滚机制
编程式事务管理
声明式事务管理
使用 XML 配置声明式事务;
使用注解配置声明式事务;
配置事务通知属性
定义事务传播属性
事务传播行为
lombok
介绍
https://blog.csdn.net/Nicholas_GUB/article/details/120929648?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-120929648-blog-119955293.pc_relevant_3mothn_strategy_recovery&spm=1001.2101.3001.4242.1&utm_relevant_index=3
IDEA使用步骤
加入lombok依赖
装并启用lombok插件
启用Annotation processing
注解
@Data
@Setter
@Getter
@ToString
@EqualsAndHashCode
@AllArgsConstructor
@NoArgsConstructor
@NoArgsConstructor
第四章 SpringBoot
介绍
优点
特性
maven的介绍
SpringBoot项目结构说明
1. src/main/java 后台代码
2.src/main/java/resources 静态资源和模板引擎
3.src/main/webapp 前端所有东西
4.主要的配置文件
pom.xml Boor项目中所有的依赖, 当在pom 有依赖之后 Maven 会自动下载依赖锁需要的jar 包
application.properties 或者 application.yml 这个是Boot 项目中 核心的配置文件。
SpringBoot 整合 SSM 项目
1.pom 核心文件的依赖
1.1 加入MVC依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
加入Mybits依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
j加入web依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
加入MybitsPLus依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>2.3</version>
</dependency>
<!-- mybatis plus与springboot整合 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>2.3</version>
</dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>2.3</version>
</dependency>
<!-- mybatis plus与springboot整合 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>2.3</version>
</dependency>
加入log4j依赖
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.21</version>
<scope>test</scope>
</dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.21</version>
<scope>test</scope>
</dependency>
1.2 项目中加入了tomcat 的依赖 这样就相当于内置了一个tomca 服务器
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
1.4 jdk 版本依赖
<java.version>1.11</java.version>
1.5 Spring Boot 版本
<spring-boot.version>2.3.7.RELEASE</spring-boot.version>
1.6 加入Mysql 数据库的依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
1.7 假如jsp的依赖
servlet的依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!-- tomcat的支持-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
允许任意请求访问src/main/webapp
<resource>
<directory>${basedir}/src/main/webapp</directory>
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
<directory>${basedir}/src/main/webapp</directory>
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
${basedir}指的是工程的绝对路径
不允许任意请求访问src/main/resources
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/**</include>
</includes>
</resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/**</include>
</includes>
</resource>
1.3. 在依赖中加入 Maven 的配置信息 这样就可以使用maven自动下载jar包了
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
加入lombok依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</dependency>
2. application.yml 主配置文件的内容配置
3.Application加入扫描mapper路径注解
在Spring Boot 中Jpa
介绍
实现步骤
1. 在pom 中加入 jpa的依赖
2.application.yml中 加入 jpa 的参数
3. 创建jap 的而面向接口对象(在持久层)
public interface IUser_Jpa extends JpaRepository<userz,Integer>
修改实体类
@Entity//声明这是一个实体类
@Table(name = "userz")//与数据库的表名对应
@Id
@Column(name = "user")//与数据库一一对应
修改service的实现类
使用jpa的增删改查
查
roomDao.findAll();
增
roomDao.save(room);
删
roomDao.deleteById(Integer.parseInt(id));
改
roomDao.save(room);
4. 实体类的注解关联
1. 实体类 使用引用数据类型
2.生成策略 一对一
3.自增需要加入注解@GeneratedValue
5.JPA自定义方式实现数据增删改查
删
查
改
nativeQuery = true
ChildTopic
在SpirngBoot 中的 MyBitsPlus即MP
介绍
实现步骤
1. 在pom 中加入 MybatisPlus的依赖
2.2.application.yml中 加入MybatisPlus 的参数
3.创建ML 的面向接口对象 (持久层)
接口继承BaseMapper<实体类>
增
删
改
查
查一个
查所有
在SpringBoot中的log4j2
1、配置文件类型
2.加入依赖
启动类,排除自带日志依赖
配置log4j2
辨别log4j2.yml文件
3.log4j2.yml
4.在application.yml中引入log4j2.yml(注意缩进)
5.@Slf4j
拦截器
Application中加入@ServletComponentScan注解扫描过滤器
@WebFilter(urlPatterns={"*"})拦截所有请求
选择性放开请求
支付宝接口
支付宝开放平台沙箱支付
实现步骤
1.登陆支付宝接口官网
2.控制台,沙箱应用环境
3.沙箱账号获取买家卖家账号,沙箱登录买家
4.支付宝开放平台助手
4.1 生成密钥
4.2复制应用公钥
5.沙箱应用的接口加签方式
5.1 选择自定义密钥
5.2 设置并查看
5.3 加签变更,填写应用公钥
5.4 保存生成支付宝公钥
项目部署
虚拟机安装
注册码问题
centos
添加虚拟机
选择典型
远程连接工具安装
finalshell
xshell
云服务器
阿里云服务器的购买
领取免费服务器
重置实例密码
添加安全组规则
腾讯云
华为云
打包项目
pom
<packaging>jar</packaging>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.2.RELEASE</version>
<configuration>
<mainClass>com.java808.SpringBoot04Application</mainClass>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.2.RELEASE</version>
<configuration>
<mainClass>com.java808.SpringBoot04Application</mainClass>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
maven
双击package
在项目target路径下方生成一个项目的jar包
项目部署的步骤
远程工具连接云服务器
1.公网ip
2.用户名密码
安装jdk,mysql环境
jdk
1.配置环境变量
2.javac
mysql
进入mysql安装的bin路径
将jar包放入云服务器
java -jar jar包名称
通过公网ip:jar包端口号/login.jsp
代码托管平台
github国外
码云
1.注册登录到首页
2.创建个人仓库
git托管工具的下载与使用
window国内镜像https://registry.npmmirror.com/binary.html?path=git-for-windows/v2.19.0-rc0.windows.2/
git + 码云 使用
右击项目文件夹选择 Git Bash Here
在本地生成一个密钥,与码云密钥产生关联
ssh-keygen -t rsa -C "自己邮箱"
一直回车直到绿色界面
查看自己生产的密钥cat ~/.ssh/id_rsa.pub
复制秘钥到SSh公钥当中
创建仓库,点击克隆下载,然后复制ssh的地址
在git命名行中定义两个全局变量
git config --global user.email "邮箱"
git config --global user.name "username"
第一次上传代码到git
重新右击项目文件夹选择 Git Bash Here
输入初始化命令 git init 回车
输入要链接到码云的地址git remote add origin ‘ssh地址’
拉取码云上的所有文件到项目中来,git pull origin master
在项目目录中创建一个文本文档,用来测试是否真的上传成功
在命令行中继续输入代码执行 git add . (add空格后有个点别忘了)
添加注释,来说明自己为什么要上传,方便以后自己查阅 git commit -m "第一次上传"
提交
提交到码云上面,git push origin master
因为是第一次提交,要更改为:git push -u origin master 第二次提交就按照上面的写法即可
不在需要加 -u :
因为是第一次提交,要更改为:git push -u origin master 第二次提交就按照上面的写法即可
不在需要加 -u :
Linux命令
ls
cd
cd ..
mkdir 文件夹
re -f
消息队列中间件
JMS介绍(消息队列的总称)
使用activemq服务器实现
activemq介绍
实现activemq完成jms消息队列
1.获取activemq服务器-启动
2.编写后台代码
信息传递
实现代码 对象
ActiveMQConnection
生产者MessageProductor
消费者MessageConsumer
连接工厂对象ConnectionFactory
连接对象 Connection
连接对象 Connection
消息的目的地Destination
3.访问服务器上的数据即可
消息队列 如何嵌在Boo项目中
将pom 依赖加入即可
宏观总结
一阶段
javase
二阶段
java web
B/S
webserver
servlet filter listener
容器
tomcat启动之后
第三阶段
常用框架的学习
1.MyBatis(plus)
访问数据库更简单
DAO对象.方法
SQL maps
user表 user类 持久层
对JDBC封装
2.Spring
管理各种对象
没有对象造个框架
3.Springmvc
javaweb
4.Springboot
项目快速构建和快速开发的一个工具
提供软件开发的效率
5.做一个阶段性的项目
第四阶段
微服务及各种框架
0 条评论
下一页
为你推荐
查看更多