1 使用Spring Boot2.x开发项目

1.1 Spring核心基础

  • 面向对象编程

1.面向对象开发就是不断的创建对象,使用对象,指挥对象做事情
2.面向对象设计就是在管理和维护对象之间的关系

  • Spring框架解决了什么问题?

1.Spring 提出了一个很核心的概念—Spring IOC容器
2.我们实际上是通过Spring IOC的一个容器来进行所有的Bean的管理,通过这种Bean的管理,使得解放出来,使得我们可以专注于写业务代码,而不是不停的new对象
3.Spring框架是为了解决应用企业开发的复杂性而创建的

  • Spring框架核心

1.Spring Boot + Spring Cloud + Spring Cloud Data Flow
2.Spring Boot2.0 两种开发方式 Reactive Stack and Servlet Stack

1.1.1 Spring IOC

  • 什么是Spring IOC?

1.一个系统需要生成多个对象,并且这些对象都需要管理
2.IOC -Inversion of Control 即 ’控制反转‘ ,是一种设计思想。在Java开发中,IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接new控制

  • 依赖注入(Dependency Inversion)

1.以玩具汽车为例子 原始方法:从上往下,先设计汽车轮胎,再设计汽车底盘(依赖于汽车轮胎),最后设计汽车车架(依赖于汽车底盘),当要修改汽车轮胎的尺寸时候,那些依赖的部件都需要改变
2.使用依赖注入实现控制反转,即上层控制下层,将依赖部分逐渐注入被依赖的部分。依赖注入的时候,直接注入的是对象,而不是参数
3.依赖注入 是将底层类作为参数传递给上层类,实现上对下的控制

  • Spring IOC容器

1.Bean: 在Spring中,管对象叫做Spring Bean
2.Spring IOC首先是依赖于配置信息,最常用的是通过注解的方式来配置Bean的一些具体信息
3.将Bean的配置信息通过注解的方式,或者xml或者其他的方式进行配置,配置完成以后,当Spring容器在启动的时候,会读取bean的一些配置信息,然后加载到了一个大容器里面(Bean定义注册表),根据注册表来实例化每一个对象,之后将Bean实例放到Spring容器中(Bean的缓存池),当需要用的时候,直接从缓存池中取出来即可
4.Spring IOC容器是如何实现的,有两个对应的接口:a.BeanFactory接口的简单容器 b.ApplicationContext应用上下文

1.1.2 Spring Bean

如何在Spring中定义和注入Spring bean?

  • Spring bean的使用方法

定义bean
@Component Spring基础的注解,被Spring管理的组件或bean
@Repository 用于持久层,数据库访问层,是用来直接访问数据库的
@Service 用于服务层,处理业务逻辑
@Controller 用于呈现层,(Spring-MVC),暴露给前端的入口
注入bean
@Autowired 默认是按照资源的类型class查找并注入的
@Resource 默认是按照资源的名称name查找并注入的
@Qualifier 采用@Autowired如果存在多个实现类的情况下,@Qualifier注解通过资源名称确定唯一性

  • Bean的作用域

spring中默认所有的bean都是作为单例(singleton)的形式创建的。不管bean被注入到其他的bean多少次,每次注入的都是同一个实例。

作用域类型 使用范围 作用域描述
singleton 所有Spring应用 默认值,IOC容器值存在单例
prototype 所有Spring应用 每当从IOC容器中取出一个 bean,则创建一个新的bean
session Spring Web应用 HTTP会话
application Spring Web应用 Web工厂生命周期
request Spring Web应用 Web工程单次请求(request)
globalSession Spring Web应用 在一个全局的Http Session中,一个Bean定义对应一个实例。实践中基本不使用
  • Spring bean的加载过程

转换为BeanName ----- 从缓存中加载实例 ----- 实例化bean ----- 检查parentBeanFactory -------初始化依赖的bean ---- 创建bean

1.1.3 Spring 约定编程

  • 约定编程就是将内容织入到约定的流程中。

1.你需要记住约定的流程是什么?
2.然后完成对应的编码任务
3.你不需要知道底层设计者是怎么样将约定的内容植入对应的流程

2020.2.19Spring Boot权限管理项目知识点
2020.2.19Spring Boot权限管理项目知识点

1.目标对象:即被代理对象
2.连接点: 被拦截的对象(方法)------图中的 连接(runCar)
3.切面: 定义切点 各类通知和引入的内容(拦截器)
4.切点: 使用正则表达式和指示器规则去匹配多个类的不同方法
5.通知:按照约定的流程下的方法
------------前置通知 后置通知 环绕通知 事后返回通知 异常通知
6.织入:通过动态代理技术,为原有服务对象生成代理对象,然后将与切点定义匹配的连接点拦截,并按照约定将各类通知织入约定流程的过程

  • 只要按照一定的约定规则编程以后,就可以把自己的代码织入约定的流程中

1.1.4 Spring AOP

  • Spring AOP本质就是通过我们的约定,把对应的方法通过动态代理织入到约定的流程中
    2020.2.19Spring Boot权限管理项目知识点

1.2 Docker构建环境

  • Docker的思想来自于集装箱,集装箱解决了什么问题?

Docker: 代码集装箱装卸工
Docker 提供了可将任何需要运送的代码进行封装,转移,管理的标准化工具
所有的软件交付工具,开发,测试,持续集成,部署,版本管理,运行环境,人员技能都按照docker进行统一
Docker就是操作系统级别的虚拟化方案
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的,可移植的,自给自足的容器

2020.2.19Spring Boot权限管理项目知识点

  • Docker容器和虚拟机有什么区别?

1.启动级别不在一个数量级上,秒级别和分级别
2.docker直接使用的是硬件资源(Docker Engine)VM还要中间过渡 在资源利用率下,Docker是占有有优势的
3.docker利用的是系统的内核,直接加载libs和bins,而vm还需要安装操作系统

  • Docker的基本组成?

1.Docker镜像就像是一个只读的模板,用来创建Docker容器。(包含一个操作系统和一个mysql)
2.Docker利用容器来运行应用,容器是从镜像创建的运行实例。
3.仓库是集中存放的镜像文件的场所

1.2.1 Docker安装

1.2.2 Docker镜像 容器的常用命令

1.2.3 使用Docker提供MySql服务

1.2.4 使用Docker提供redis服务

1.3 SpringBoot核心

1.3.1 构建Spring Boot项目

1.3.2 Spring Boot启动器

1.3.3 Spring Boot自动配置

1.3.4 定制动态Banner

1.3.5 Spring Boot项目的日志功能(log back)

1.4 Mybatis基础

1.4.1 Spring Data数据访问

1.4.2 Mybatis核心知识

1.4.3 SpringBoot整合Mybatis

1.4.4 整合Druid和配置数据源

1.4.5 使用注解方式完成数据表的CRD操作

1.4.6 使用配置方式完成数据表的U操作

1.4.7 Junit单元测试

1.4.8 Spring事务以及事务传播行为

1.4.9 Spring事务隔离

1.4.10Spring事务最佳实践

1.5 SpringMVC基础

1.5.1 SpringMVC的工作流程

1.5.2 常用注解命令

1.5.3 Thymeleaf模板引擎

1.5.4 X-admin和静态资源

1.6 Friday项目构建

1.6.1 构建Friday项目

1.6.2 构建Friday页面布局

1.6.3 编写工具类

1.6.4 Layui的使用

2. 使用Spring Security完成认证和授权

2.1 权限管理系统的设置

2.1.1 基于RBAC的权限管理

2.1.2 基于RBAC的数据表设计

2.1.3 权限管理功能分析以及初始化数据访问层

2.2 用户管理功能

2.2.1 用户列表

2.2.2 分页功能

2.2.3 用户新增功能

2.2.4 修改用户功能

2.2.5 删除用户功能

2.2.6 模糊查询功能

2.3 角色管理功能

2.3.1 角色增删改查功能

2.3.2 树形结构实现

2.4 菜单管理功能

2.4.1 菜单增删改查功能

2.4.2 树形结构实现

2.4.3 Layui树形表格展示功能

2.5 权限管理(登录)

2.5.1 Spring Security安全框架开发分析

2.5.2 动态菜单生成

2.5.3 Spring Security用户认证逻辑

2.5.4 Spring Security定义用户验证流程

2.5.5 Spring Security控制授权

3. 项目开发的脚手架,作为基础项目

3.1 Druid数据源控制台

3.2 Swagger接口文档

3.3 修改密码功能

3.4自动生成代码功能

相关文章:

  • 2021-07-20
  • 2022-12-23
  • 2021-12-04
  • 2021-12-02
  • 2021-11-17
  • 2021-12-27
  • 2021-09-02
猜你喜欢
  • 2021-12-01
  • 2021-06-30
  • 2021-12-02
  • 2021-12-02
  • 2021-11-21
  • 2021-06-10
相关资源
相似解决方案