黑马 javaweb学习

黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖Spring+MyBatis+SpringMVC+SpringBoot等)_哔哩哔哩_bilibili
自用,为了能让自己快速了解springboot及前后端分离开发流程写的,搭配黑马学习文档食用,所以会略去亿些细节。

前端工程化:

定义:

   

模块化

组件化

规范化

自动化

环境准备:

nodejs,vue-cli

创建过程(图形化页面创建):

到相应目录下打开命令行,输入

vue ui 

按需求创建即可

初始化项目结构了解(vue2,只添加了router):

vue项目开发流程:

在index启动:

index中默认引入了main.js(入口文件)

main.js导入组件并挂载到index的app上

App组件负责控制子组件展示

路由:

router负责控制页面的跳转及内嵌子组件的展示

三要素:

路由表注册

放置对应的"a标签"router-link:

在需要的位置放上组件以展示:

打包部署:

打包:

对应目录下输入npm run build等待打包完成

部署:

nginx了解与安装:

安装:安到无中文路径下

文件结构了解:

部署:

将打包好的文件夹放到html文件里

注意启动不成功可能是端口被占用,可在对应目录下修改启动的默认端口


管理和构建java项目的工具

maven:

1.依赖管理,避免依赖冲突

2.统一项目结构

maven项目结构:

3.标准化项目构建流程

maven介绍

先查本地仓库,没有就去私服查,还是没有就去中央仓库

安装,配置本地仓库,远程仓库,环境变相配置

全局配置:p52

Maven坐标:

定义项目,引入依赖

依赖管理:

配置后

依赖传递

依赖范围:

Maven生命周期:

web后端开发-springboot

 web入门

入门程序

HTTP协议:

请求协议:

格式:

响应格式:

  

协议解析:

后端接收请求:

webSocket

HTTP协议封装:

tomcat

三层架构

单一职责原则,易拓展...

分层解耦

把耦合部分拿个容器管理

实现容器的原理:

控制反转,依赖注入

控制反转IOC详解:

四个注解声明

Bean组件扫描:

依赖注入 详解:

同类型依赖冲突解决方案:

Mybatis 

持久层框架,用于简化JDBC的开发

入门程序:

初始化:

数据库连接

数据库配置:

用户类,Mapper,测试:

JDBC简介

数据库连接池

切换连接池:

lombok:解决实体类臃肿问题(getter setter,toString....)

mybatis实践:

预编译sql

mybatis占位符:

数据封装:

不能自动封装的字段在数据库有值,但返回时值会变为null

解决方案:

起别名:

驼峰命名:

结果:

参数注意:方法中形参名与sql中占位符参数名不一样时会报错

解决:保证占位符与形参名一致

复杂sql语句的编写:对应xml配置文件

注意一定要保证resources目录下的包路径与mapper路径一致

见day09资料讲义

管理xml文件的插件:

MybatisX

动态sql

也一般有if就有嵌套

打通前后端案例:Tlias智能学习辅助系统

开发规范:REST

REST(Representational State Transfer),表述性状态转换,它是一种软件架构风格。

基于Result类统一响应返回数据格式:

开发流程

删除部门:

用@PathVariable接受前端传来的id

新增部门:

使用@Requestbody接收部门json格式数据

要在业务层(Service)补全数据,创建时间,更新时间...

员工管理:分页查询

需要使用PageBean类当做回传给前端的数据格式

控制层使用@RequestParam接收两个参数

业务层调用持久层的俩接口分别获得总数与当前分页并封装好

持久层负责sql语句的编写,回传数据给业务层

要点:业务层调的是俩接口在将数据封装

分页插件实现分页查询:

引入依赖,改动业务层与持久层,

区别@RequestParam和@RequestBody和@PathVariable

@RequestParam:

@RequestBody  一般拿json格式数据

@PathVariable 拿请求路径花括号的数据

上传图片

前端实现:

1.file域

2,请求方式为post

3,编码方式enctype设置为:multipart/form-data

后端实现:

单独写个控制类

服务端会将前端的文件暂存到临时文件,运行完后会删除,所以要将文件存起来

俩存储方式:

本地存储:

再次上传一个名为1.jpg文件时,发现会把之前已经上传成功的文件覆盖掉:保证文件名唯一

随机文件名

本地存储缺陷:

对象存储服务

配置文件
参数配置:

将分散在工具类及其他文件中的动态参数放到一起以方便管理,通过@Value注解来在需要的地方进行注入

  • endpoint //阿里云OSS域名

  • accessKeyID //用户身份ID

  • accessKeySecret //用户密钥

  • bucketName //存储空间的名字

.....

@ConfigurationProperties

相当于@Value的批量注入:

yml文件

登陆

由于http协议是无状态的协议,即每次请求都是独立的,因此服务无法知道请求时用户是否登录,所以要进行登录校验

实现:

定义一个工具类,写好生成令牌与解析令牌的方法,在登录控制层调用并检验

过滤器:

注意导入的类是servlet的

...

拦截器:

...

全局异常处理:

事务管理

使用情景:

删除部门时还要把该部门下所有员工删除

AOP:

了解一个技术是干嘛的,在哪里有让自己快速了解的途径

该技术实现的关键点(步骤)在哪里

核心技术:

连接点,通知,切入点,切面,目标对象

区别连接点与切入点

..

执行过程:

通知类型:

切入点(提取注释指定的原始方法):

通知执行过程:

切入点表达式:

连接点:

案例实现

注意不要将@Log多注释给员工业务层的登录方法吗,不然会报错

springboot原理

配置优先级

有关Bean的

Bean的获取

Bean作用域:

一般是前两个

第三方Bean对象:

加个@Bean注解交给IOC容器管理

一般是在配置类声明:

小结:

自动装配原理

....

技术栈:

Maven高级

分模块设计
步骤

将pojo,uitils等单独划分一个模块,在其他模块要用时在从pom引入

继承与聚合

常见打包方式:

创建父工程步骤:

版本锁定

区别:

聚合

小结:

私服:

黑马有配置文档参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值