NekoChip's Blog

一生懸命

文章

Spring Boot 深入学习(1) —— Spring IOC 以及组件注册

随着 Spring 家族成员的增加,Spring 系列所提供的功能也是越来越完善。为了能够更好地使用 Spring,理解它的实现原理是必不可少的,那么阅读它的源码无疑是最直接的方式。 为了方便起见,源码学习系列我们使用 Spring Boot 2.2.6.RELEASE 来构建基本项目架构,在项目中逐步深入学习 Spring 。 1. 什么是 IOC ? IOC ,Inversion of Control 直译过来就是我们常说的 “控制反转” 。IOC 是面向对象框架中的一个概念, 通常我们也称之为 IOC 容器。这里还有一个重要的概念叫做 依赖注入 (Dependency Injection),而在 Spring 中 IOC 和 DI 是密不可分的。 关于 IOC 和 DI 概念这一块,我也是直到在知乎上看到一个回答才算是有个较为明确的理解。这里分享给大家。源于知乎:SpringIOC 有什么好处? 2. Spring 是怎么注册 Bean 的? 了解了 IOC 和 DI 后,我们再来看看 Spring 是怎么将 Bean 注册到 IOC 容器中的。 2.1 了解 Appli....

MySQL 学习总结(一) —— 认识 MySQL 以及简单应用

1. 为什么选择 MySQL ? 要说为什么,我们可以从以下几点进行分析: 开源免费,方便拓展。 轻量,相比于 Oracle 安装起来颇为简单。 社区活跃,碰到的问题总是能找到合适的解决方案。 ...... 之前很长一段时间都仅仅把数据库当做一款工具在使用,而没有认真地去了解。近来在看《高性能MySQL》和一些有关 MySQL 的文章、帖子,也使得我对 MySQL 有一个重新的认识。 SQL 能力检验,通过它检验 SQL 基本功。 最后在这里推荐几篇写得比较好的文章: MySQL入门教程 (适用初学者,也可以通过它来检验自己对 MySQL 的理解程度) 后端程序员必备:书写高质量SQL的30条建议 (总结的比较到位,能够应用于大部分场景) 腾讯面试:一条SQL语句执行得很慢的原因有哪些?---不看后悔系列 (诙谐易懂,推荐阅读) 2. 存储引擎 2.1 查看 MySQL 存储引擎 通过查看官方文档,或者使用命令查看 MySQL 支持的存储引擎。 mysql> show engines; +--------------------+---------+------....

个人简历

该文章已经加密。

Spring Boot 整合 Redisson

Redisson 作为一款 Redis Java 客户端,为我们提供了非常多便捷的功能。在绝大多数场景下,使用 Redisson 可以让开发人员将关注点放在业务上,而并不用关心 Redis 的处理过程。并且在分布式系统中,Redisson 得到了广泛的应用。 本文将简单介绍 SpringBoot 如何集成使用 Redisson。 🚀 Redisson Wiki 文档:https://github.com/redisson/redisson/wiki 🚀 源码地址:https://github.com/NekoChips/SpringDemo/18.springboot-redisson 1. pom 依赖 <!-- redission --> <dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>3.12.3</version&g....

Spring Cloud Zuul 网关统一鉴权

分布式系统架构越来越多地应用于日常开发中。而分布式系统之间的认证和鉴权同时也是作为开发者的我们需要去考虑的。 话不多说,直接上干货。 🚀 源码地址:https://github.com/NekoChips/SpringDemo/17.springcloud-zuul-oauth2 1. 项目结构 👀 项目背景:基于 SpringBoot 2.1.9.RElEASE, SpringCloud Greenwich.SR3 搭建,使用 SpringCloud Zuul 作为服务网关,使用 nacos 作为服务的注册和发现中心。 流程图大致如下: sequenceDiagram Client->>Gateway: 不带 access_token 请求资源 Gateway-->>Client: 不存在 acess_token,返回 401 Unauthenticated Client->>AuthServer: 用户登录并申请 access_token AuthServer->>AuthServer: 用户认证,认证成功后生成 acess_to....

Spring Security OAuth2 SSO 搭建指南

SSO(Single Sign On)也称为单点登录,多应用于多系统共存的场景中。 就好比现在的分布式系统应用,如果每一个子系统都需要去重复实现认证授权的逻辑,不仅对开发来说是一种负担,对用户而言更是一种非常差的体验。 单点登录就解决了这一痛点,而实现单点登录的方式也是层出不穷。 从一开始的使用浏览器 cookie 作为用户信息的存储媒介,到现在广为使用的页面重定向方式实现用户信息的安全传递。 而本此教程也是基于页面重定向的方式来实现 SSO 功能。 🚀 源码地址:https://github.com/NekoChips/SpringDemo/12.springboot-oauth2-sso 1. 搭建框架 之前简单地了解了 SpringSecurity 的使用,以及 SpringSecurity 集成 OAuth2 实现应用授权。具体可参照 Spring Security 使用指南,基于 SpringSecurity OAuth2 实现应用授权。 为了贴合实际应用场景,首先创建一个父级模块 springboot-oauth2-sso <?xml version="1.0" e....

Spring Security 使用指南

Spring Security 是基于 Spring 的一款安全框架,主要包含认证和授权两大模块,在这一点上与其他的安全框架大同小异,如 Apache Shiro。Shiro 想必大家都不陌生,无论是在实现还是应用上相比较而言,都可以说比 Spring Security 要简单。但是我想目前做 Web 开发的后端的框架基本上选择的都是 Spring,那么就功能拓展和系统兼容性方面来讲,无疑是同为一家的 Spring Security 更有发言权。 下面我们简单了解一下 Spring Security 🚀 源码地址:https://github.com/NekoChips/SpringDemo/10.springboot-security 🚀 官方文档:Spring Security 官方文档 这里我使用 SpringBoot 对 SpringSecurity 进行集成,SpringBoot 版本为 SpringBoot 2.1.9.RELEASE 1. 环境搭建 创建一个 Maven 项目后,引入 SpringSecurity 依赖,由于 SpringBoot 中包含了 Sprin....

初探 JWT

JWT(JSON Web Token)是一种基于 JSON 的开放标准。多应用于传递身份认证信息和授权信息的场景。 同时它还支持多种加密算法对它的信息进行加密和解密处理,典型的有 RSA 算法 和 HMAC 算法。 👀 提示:下列演示代码均来自 SpringSecurity OAuth2 实现应用授权 中 demo,如果对 OAuth2 不甚了解的小伙伴,可先对 OAuth2 进行了解,也可以前往链接地址看看我对 OAuth2 的一些理解。 🚀 源码地址:https://github.com/NekoChips/springboot 🚀 相关链接: JWT 简介:https://jwt.io/introduction/ Spring Security OAuth2 JWT 应用:SpringSecurity OAuth2 实现应用授权 1. 初识 JWT 通过生成的 JWT 字符串和解析之后的内容可以看出,JWT 由三个部分组成,每个部分间以 (.) 分隔: Header:头部信息 Payload:载荷信息 Signature:签证信息 Header 从解析后的内容上....

SpringSecurity OAuth2 实现应用授权

在开始之前,我们需要对以下相关知识有基本的了解。 SpringSecurity:建议查阅官方文档做相关了解。 OAuth2:推荐 阮一峰老师的 OAuth2 介绍,通俗易懂。 SpringBoot OAuth2:官方文档 OAuth 2 Developers Guide JWT(JSON Web Token):了解它的作用即可,深入了解可前往官网:https://jwt.io/ 这里提供我写的一些 Demo,欢迎指出问题。 🚀 源码地址:https://github.com/NekoChips/SpringDemo/11.springboot-oauth2 本文将结合大量代码演示整个功能的实现过程。 1. 框架搭建 这里我使用的版本依赖分别为 SpringBoot 2.1.9.RELEASE,SpringCloud Greenwich.SR3。 👀 友情提示:文中还使用了 MybatisPlus 工具,若不需使用,请自行去除依赖以及实体类代码中的相关注解。若连数据库也不使用的,请自行去除数据库连接相关依赖。 1.1 引入相关依赖 新建 maven 项目后,引入相关依赖。 <....

一生懸命

© 2022 NekoChip's Blog

Powered by Solo
Theme solo-sakura by adlered
  ❥(^_-)Enjoy Code Enjoy Life❥
版权所有 ICP 证:鄂ICP备19026877号-1

主题 | Theme