NekoChip's Blog

一生懸命

文章

Spring Boot 使用 JPA

前言:前面我们了解了如何在 Spring Boot 中使用 Mybatis,而本文中所提到的 JPA 在配置方面与 Mybatis 几乎一致,使用方面也是大同小异。本篇文章只讲述 JPA 的使用,其他如 DataSource 以及 Druid 数据源相关说明请移步Spring Boot 整合 Mybatis 作为参考。 1. 添加依赖 只需引入数据库连接依赖和 Spring Boot 提供的 spring-boot-starter-data-jpa 依赖即可: <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <!-- jpa --> <dependency> <groupId>org.springframework.bo....

Spring Boot 整合 Mybatis

Spring Boot 整合 Mybatis 非常简单,只需在项目中引入数据库连接依赖和 mybatis-spring-boot-starter 即可。 <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> 1. Mybatis 依赖说明 注意上图中红框标识出的内容,可见 mybatis-sprin....

Spring Boot 深入学习(5) —— @Autowired 和 @Resource

前面我们了解了组件是如何注入至 Spring IOC 容器中的,接下来我们再来谈谈在 Spring 中我们是如何使用这些组件的。 在使用 Spring 进行开发的过程中,我们通常使用 @Autowired 注解引入一个对象。那么它是如何引入这个对象的?这就是本篇文章将要讲到的内容。 1. @Autowired 注解 @Autowired 注解是 Spring 提供的注解,用于类的自动装配。在开发过程中我们经常使用到它。 老套路先上源码: @Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.ANNOTATION_TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Autowired { /** * Declares whether the annotated dependency is required. * <p>De....

Spring Boot 深入学习(4) —— 深入理解 Spring Boot 自动装配

在上一篇文章中,对 @Enable 模块驱动有一个明确的认识后,还提到了 @EnableAutoConfiguration 注解。该注解的设计和实现方式与其他 @Enable 模块驱动注解也没有太大的区别,下面我们来看看它是怎么实现 自动装配 的。 1. @EnableAutoConfiguration 注解 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @AutoConfigurationPackage @Import(AutoConfigurationImportSelector.class) public @interface EnableAutoConfiguration { String ENABLED_OVERRIDE_PROPERTY = "spring.boot.enableautoconfiguration"; Class[] exclude() default {}; String[] excludeName() default {}; }....

Spring Boot 深入学习(3) —— 理解 Enable 模块驱动

Spring 以及 Spring Boot 中有很多模块都使用到了 Enable 模块驱动。这里的模块与我们理解的模块大致相同,均代表着实现某项功能的组件集合。而 Enable 模块驱动简单点说就是开启相应模块的功能。 开始之前,我们先看看 Spring Boot 中都有哪些功能模块用到了 Enable 模块驱动。 图中标注出来的注解想必大家都不陌生,下面我们以 @EnableCaching 注解为示例来看看 @Enable 模块驱动是如何实现的。 1. @EnableCaching 注解 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Import(CachingConfigurationSelector.class) public @interface EnableCaching { /** * Indicate whether subclass-based (CGLIB) proxies are to be created as opposed * to standard ....

Spring Boot 深入学习(2) —— 条件组件注册以及 @Import 使用

前文回顾:上篇文章中我们对 Spring 组件注册进行了一个算不得太深入的介绍,文中提到了很多注解,但限于篇幅部分注解还没有介绍到,所以在本篇文章中我们将继续介绍剩下的注解,如:@Conditional 家族系列注解 以及 @Import 注解。 1. @Conditional 注解 顾名思义,使用该注解可以指定注册组件的条件,只有满足了该条件才可以将组件交于 Spring 容器进行管理。源码如下: @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Conditional { /** * All {@link Condition Conditions} that must {@linkplain Condition#matches match} * in order for the component to be registered. */ Class<? extends Condition>....

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....

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 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....

一生懸命

© 2022 NekoChip's Blog

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

主题 | Theme