微服务架构 从前的项目是使用单体架构,单体架构是指将业务的所有功能集中在一个项目中开发,打成一个包部署。 单体架构的优点是: 架构简单; 部署成本低。 缺点是模块之间的耦合度高,不利于大型项目开发。 随着互联网行业的发展,服务架构从单体架构逐渐演变为现在流行的微服务架构(属于分布式架构的一种)。 分布式架构是指根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务。 分布式架构的优点: 降低服务之间的耦合; 有利于服务升级拓展。 微服务是一种经过良好架构设计的分布式架构方案。 微服务的架构特征: 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责。 自治:团队独立、技术独立、数据独立,独立部...
项目笔记 项目笔记仓库:https://gitee.com/linner_cheng/reggie_note B站视频:黑马程序员Java项目实战《瑞吉外卖》 项目基础功能开发 项目基础功能开发。包含项目前台和后台功能开发还有项目部署。 Redis Redis。包含Jedis和Spirng data redis。 项目优化 Redis缓存。 Sharding-JDBC读写分离。 Swagger API文档。
简介 MybatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具(依然可以使用MyBatis里的工具),旨在简化开发、提供效率。更多详情请访问MyBatisPlus官网(官网有两个地址,https://mp.baomidou.com/或https://mybatis.plus)。 基于Spring使用MybatisPlus,在构建Spring工程时需要勾选MySQL和MyBatis相关技术。由于Spring并未收录MP,所以需要手动导入坐标: 1<dependency> 2 <groupId>com.baomidou</groupId> 3...
多模块开发 多模块开发有以下两种: 按照功能拆分。 按照模块拆分。 例如,将项目中的DAO类拆分出来作为一个独立的模块。然后使用Maven将该模块作为依赖导入项目中。 假设现在已经将项目中的实体类拆分出来作为maven-dao模块。该模块也使用Maven构建,然后导入该项目所需依赖。经过测试后,将该项目的<groupId>、<artifactId>和<version>导入原本项目。 maven-dao模块的pom.xml中: 1<?xml version="1.0" encoding="UTF-8"?> 2<project xmlns="http://maven.apache.org/POM/4.0.0"...
简介 SpringBoot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化 Spring 应用的初始搭建以及开发过程。 SpringBoot开发分为如下几步: 创建新模块,选择Spring初始化,并配置模块相关基础信息。 选择当前模块需要使用的技术集。 开发控制器类。 运行自动生成的Application类。 SpringBoot有两个机制: 依赖管理机制。 自动配置机制。 项目创建及配置 创建项目 注意: 在创建好的工程中不需要创建配置类。 创建好的项目会自动生成其他的一些文件(这些文件目前来说没有任何作用),可以将这些文件删除。 可以删除的目录和文件如下: .mvn .gitignore HELP.md...
简介 SpringMVC是Spring下的一个用于Web表现层开发的技术。相比Servlet,SpringMVC更加高效快捷。 SpringMVC流程如下: 浏览器发送请求到Tomcat服务器; Tomcat接收请求后,将请求交给SpringMVC中的DispatcherServlet(前端控制器)来处理。 DispatcherServlet按照对应规则将请求分发到对应的Bean。 Bean由我们自己编写来处理不同的请求。 每个Bean中可以处理一个或多个不同的请求 URL。 DispatcherServlet和Bean对象都需要交给Spring容器来进行管理。 综上,我们需要编写的内容为: Bean对象; 请求URL和Bean对...
Spring Framewor 简介 Spring5.0已经全面支持JDK8,建议JDK使用1.8版本。 Spring Framework是Spring家族中其他框架的底层基础。 Spring Framewor 架构 Spring Framework的发展经历了很多版本的变更,每个版本都有相应的调整。 Spring Framework 架构: 核心层 Core Container:核心容器,这个模块是Spring最核心的模块,其他的都需要依赖该模块。 AOP层 AOP:面向切面编程,它依赖核心层容器,目的是在不改变原有代码的前提下对其进行功能增强。 Aspects:AOP是编程思想,Aspects是对AOP思想的具体实现。 数据层...
Filter 概述 Filter 表示过滤器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。 过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。设置 Filter 会在访问资源之前会先经过 Filter,将资源拦截,从而实现权限控制、统一编码处理、敏感字符处理等功能。 过滤器Filter是在请求进入容器后,但在进入Servlet之前进行预处理。 进行 Filter 开发分成以下三步实现: 定义类,实现 Filter接口,并重写其所有方法: 1package filter; 2 3import javax.servlet.*; 4import...
HttpServlet 简介 HttpServlet是对HTTP协议封装的Servlet实现类。 Servlet的体系结构: 在开发中,关注更多的是Servlet.service()方法。而每实现一个Servlet就必须实现Servlet接口,重写接口中的5个方法。 但其实可以通过继承HttpServlet来编写Servlet,简化Servlet的开发流程。并且,如果是开发B/S架构的Web项目,针对的都是HTTP协议。 使用HttpServlet的格式如下: 1package com.linner.web; 2 3import javax.servlet.ServletException; 4import...
Servlet 简介 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。 Servlet 基本使用 创建Maven Web项目后,导入Servlet依赖坐标和Tomcat插件: 1<dependencies> 2 <!-- Servlet依赖 --> 3 <dependency> 4 <groupId>javax.servlet</groupId> 5 <artifactId>javax.servlet-api</artifactId> 6 <version>3.1.0</version> 7...