第四十:微服务-SpringCloud Netflex
“计算机的速度快、精确,但愚蠢;人类的速度慢、不准确,但聪明。当它们合作时,无比强大。”
【狂神说Java】SpringCloud最新教程IDEA版_哔哩哔哩_bilibili
蚂蚁课堂
Spring Cloud Netflix 中文文档 参考手册 中文版
Spring Cloud API 中文文档 参考手册 中文版
Spring Cloud中国社区
Joker2Yue/SpringCloudLearn: 学习SpringCloud的相关代码、笔记 (github.com)
背景-微服务架构演变过程
传统架构
传统的架构,也就是为单点应用,也就是大家在早期所学习的JavaEE知识SSH或者SSM架构模式,会采用分层架构模式:数据库访问层、业务逻辑层、控制层,从前端到后台所有的代码都是一个开发者去完成。
该架构模式没有对我们业务逻辑代码实现拆分,所有的代码都写入到同一个工程中里面,适合于小公司开发团队或者个人开发。
这种架构模式最大的缺点,如果该系统一个模块出现不可用、会导致整个系统无法使用。
分布式架构
...
第三十九:微服务-MybatisPlus
“一个好的程序员是在穿越单行道之前总是向两边看的人”
【狂神说Java】MyBatisPlus最新完整教程通俗易懂_哔哩哔哩_bilibili
MyBatis-Plus (baomidou.com)
概述
什么是MybatisPlus
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
特性
无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作。BaseMapper<>
强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求。以后简单的CRUD表达式能够自动生成
支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ...
第三十八:微服务-SpringBoot
“真正的危险不是计算机开始像人一样思考,而是人开始像计算机一样思考。”
【狂神说Java】SpringBoot最新教程IDEA版通俗易懂_哔哩哔哩_bilibili
狂神公众号
Spring Boot 中文文档 (springdoc.cn)
蚂蚁课堂
历史回顾与学习安排
历史回顾
JavaSE:OOP思想
Mysql:持久化
HTML+CSS+JS+jQuery+框架:视图。做的不好看的原因是框架不熟练,css技能不好
SSM:框架,简化了我们的开发流程,但是随着版本迭代行新特性更新,配置也开始变得复杂
于是,有了SpringBoot,微服务架构
而后面服务越来越多,也就有了SpringCloud
学习安排
Spring
什么是Spring
一个开源的框架,2003年兴起的一个轻量级Java开发框架。作者:Rod Johnson
它是为了解决企业级应用开发的复杂性而创建的,简化开发。
Spring是如何简化Java开发的
为了降低 Java 开发的复杂性, Spring 采用了以下 4 种关键策略:
基于 POJO ...
第三十七:Git
“真正的危险不是计算机开始像人一样思考,而是人开始像计算机一样思考。”
【狂神说Java】Git最新教程通俗易懂_哔哩哔哩_bilibili
版本控制
什么是版本控制
版本控制( Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
实现跨区域多人协同开发
追踪和记载一个或者多个文件的历史记录
组织和保护你的源代码和文档
统计工作量
并行开发、提高开发效率
跟踪记录整个软件的开发过程
减轻开发人员的负担,节省时间,同时降低人为错误
简单说就是用于管理多人协同开发项目的技术。
没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发过程中将会引入很多问题,如软件代码的一致性、软件内容的冗余、软件过程的事物性、软件开发过程中的并发性、软件源代码的安全性,以及软件的整合等问题。
无论是工作还是学习,或者是自己做笔记,都经历过这样一个阶段!我们就迫切需要一个版本控制工具!|
多人开发就必须要使用版本控制,否则代价 ...
第三十六:VUE
“程序是为了让人类读懂,而剛好可以执行”
VUE_哔哩哔哩_bilibili
初识 VUE
认识VUE
SoC:关注点分离原则
HTML+CSS+JS:只关注视图层,给用户看,刷新后台的数据
网络通信:axios
页面跳转:vue-router
状态管理:vuex
VueUI:ICE
前端复习
前端三要素:
HTML:解构层
CSS:表现层
JS:行为层
CSS预处理器:
SASS:基于Ruby,通过服务端处理,功能强大,解析效率高,需要学习Ruby语言,上手难度高于LESS
LESS:基于NodeJS,通过客户端处理,使用简单,功能比SASS简单,解析效率也低于SASS,但在实际开发中足够,所以我们后台人员如果需要的话,建议使用LESS
JavaScript框架
jQuery:简化了DOM的操作。缺点是Dom操作太频繁,影响前端性能。在前端眼里使用它仅仅是为了兼容IE6,7,8
Angular:Google收购的前端框架,由一群Java程序员开发,其特点是将后台的 MVC 模式搬到了前端并增加了模块化开发的理念,与微软合 ...
第三十五:大前端
“程序是为了让人类读懂,而剛好可以执行”
大前端_哔哩哔哩_bilibili
Nodejs
什么是Nodejs
一个基于Chrome V8引擎的JavaScript运行时
Nodejs入门
123456789101112131415161718192021222324/* * @Author: Joker_Yue,Joker_Yue@qq.com * @Date: 2023-08-01 17:22:02 * @LastEditors: Joker_Yue * @LastEditTime: 2023-08-01 17:32:17 * @FilePath: \Nodejs\.vscode\httpserver.js * @Description: 入门 */// 导包使用required,这里类似于import java.ioconst http = require("http");// 1. 创建一个Http服务http.createServer(function(requset,response){ // 浏览 ...
第三十四:SpringMVC
“计算机科学并不只是关于计算机,就像天文学并不只是关于望远镜一样。”
【狂神说Java】SpringMVC最新教程IDEA版通俗易懂_哔哩哔哩_bilibili
公众号文章
SSM:Mybatis+Spring+SpringMVC MVC三层架构
JavaSE:认真学习
JavaWeb:人生学习
框架:研究官方文档,锻炼自学能力,锻炼笔记能力,锻炼项目能力
后续学习:SpringMVC+Vue+SpringBoot+SpringCloud+Linux
什么是MVC
MVC
模型(dao,service)Model
视图(jsp)View
控制器(Servlet)Controller
最经典的MVC就是JSP+Servlet+JavaBean模式
MVVM:M,V,VM(View Model:双向绑定)
Model1时代
在早期web的开发中,通常采用的都是Model1
Model1中,主要分两层,视图层和模型层
优缺点:
优点:架构简单,适合小型项目开发
缺点:JSP职责不单一,职责过重,不便于维护
Mo ...
第三十三:Spring
“计算机科学是一门让你学会如何思考的科学,而不是一门让你学会如何编程的科学。”
【狂神说Java】Spring5最新完整教程IDEA版通俗易懂_哔哩哔哩_bilibili
Spring Framework
最全的Spring依赖注入方式,你都会了吗. - 知乎 (zhihu.com)
Spring
简介
Spring:春天,给软件行业带来了春天
2002,首次推出了Spring框架的原型,interface21
在2004年3月24日,Spring Framework 1.0 final正式发布,以interface21框架为基础
Rod Johnson 创始人
Spring理念:使现有的技术更容易使用,本身是一个大杂烩,整合了现有的技术框架
当你了解一个框架时,重要的是不仅要知道它做了什么,还要知道它做了什么。 它遵循的原则。以下是 Spring 框架的指导原则:
提供各个级别的选择。Spring 允许您尽可能晚地推迟设计决策。 例如,您可以通过配置切换持久性提供程序,而无需更改 您的代码。许多其他基础设施问题和与 第三方 API ...
第三十二:Mybatis
“计算机只是一种工具,它永远不可能代替人类的思维。” —— 伊文·卡特曼
【狂神说Java】Mybatis最新完整教程IDEA版通俗易懂_哔哩哔哩_bilibili
环境
JDK1.8
Mysql 5.7
maven 3.6.1
IDEA
简介
什么是Mybatis
MyBatis 是一款优秀的持久层框架
它支持自定义 SQL、存储过程以及高级映射
MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作
MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录
前世今生
MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了[google code](https://baike.baidu.com/item/google code/2346604?fromModule=lemm ...
第三十一:JavaWeb
“真正的危险不是计算机开始像人一样思考,而是人开始像计算机一样思考。”
【狂神说Java】JavaWeb入门到实战_哔哩哔哩_bilibili
基本概念
web开发
web,网页的意思
静态web
html,css
提供给所有人看的数据,始终不会发生变化
动态web
会发生变化。每个人在不同时间,不同地点 看到的信息各不相同
常用的技术栈,servlet/JSP,ASP,PHP
在Java中,动态资源开发的技术统称为JavaWeb
web应用程序
可以提供浏览器访问的程序
a.html , b.html…多个web资源,这些web资源可以被外界访问,对外界提供服务
能访问到任何一个页面或者资源,都存在于这个世界一台计算机上
URL
这个统一的web资源会被放在同一个文件夹下,web应用程序–>Tomcat服务器
一个web应用由多个部分组成(静态web,动态web)
html,css,js
jsp,servlet
Java程序
jar包
配置文件(properties)
web应用程序编写完毕后 ...