热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SpringBoot学习日记3

1.SqlSessionFactoryBean解析:SqlSessionFactoryBean是用来创建MyBatisSqlSessionFactory对象的。Sql

1.SqlSessionFactoryBean
解析:SqlSessionFactoryBean是用来创建MyBatisSqlSessionFactory对象的。SqlSessionFactory是用于创建SqlSession对象的,SqlSession对象是MyBatis基本的接口,通过SqlSession对象可以执行SQL和控制事物。

2.org.ietf.jgss包
解析:该软件包提供了一个框架,允许应用程序开发人员使用诸如Kerberos等各种基础安全机制[使用统一API]的身份验证,数据完整性和数据机密性等安全服务。

3.RabbitMQ相关概念
解析:当发布者发送的消息和消息的routingkey到RabbitMQ中间件时:
[1]exchange:基于消息的routingkey,将消息路由到一个或多个queue。
[2]binding:binding是设置queue绑定到exchange的连接。
[3]queue:消息队列。

4.Exchange主要类型
解析:
[1]Default:将消息路由到名称为routing key的queue,所有的queue都会自动绑定default exchange。
[2]Direct:将消息路由到binding key与消息的routing key一致的queue。
[3]Fanout:将消息路由到所有绑定的queue,不考虑binding key和routingkey。
[4]Topic:将消息路由到binding key,匹配routing key的一个或多个queue,匹配可包含通配符。
[5]Headers:类似于topic,但路由基于消息头,而不是routing key。

5.SpringApplication
解析:SpringApplication的作用是新建一个Spring IoC容器:
[1]在非Web环境中,它可以新建一个AnnotationConfigApplicationContext
[2]在Web环境中,它可以新建一个AnnotationConfigServletWebServerApplicationContext
[3]在响应式Web环境中,它可以新建一个AnnotationConfigReactiveWebServerApplicationContext

6.配置文件依赖顺序
解析:配置文件之间如果有先后依赖顺序,则既可以通过@AutoConfigureAfter和@AutoConfigureBefore注解指定配置顺序,也可以通过@AutoConfigureOrder注解来指定优先级。

7.@Scope注释的作用域
解析:request、session、application和websocket作用域只在Web应用环境中使用,在普通的SpringIoC容器里只有singleton和prototype两种作用域。
在这里插入图片描述

8.Spring中常用的事件
解析:
在这里插入图片描述

9.SpringApplication.run()方法
解析:run⽅法会启动嵌⼊式的Tomcat并初始化Spring环境及其各Spring组件。

10.屏蔽命令⾏访问属性
解析:SpringApplication.setAddCommandLineProperties(false)

11.Collections.synchronizedMap()
解析:创建线程安全的Map。

12.@PathVariable
解析:⽤于绑定请求参数到⽅法参数。

13.@RequestBody
解析:这⾥注解⽤于读取请求体boy的数据,通过HttpMessageConverter解析绑定到对象中。

14.HEAD、TRACE、CONNECT和OPTIONS
解析:
[1]HEAD请求获取由Request-URI所标识的资源的响应消息报头
[2]TRACE请求服务器回送收到的请求信息,主要⽤于测试或诊断
[3]CONNECT保留将来使⽤
[4]OPTIONS请求查询服务器的性能,或者查询与资源相关的选项和需求

15.Redis参数配置
解析:

# REDIS (RedisProperties)
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=localhost
# Redis服务器连接端⼝
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最⼤连接数(使⽤负值表示没有限制)
spring.redis.pool.max-active=8
# 连接池最⼤阻塞等待时间(使⽤负值表示没有限制)
spring.redis.pool.max-wait=-1
# 连接池中的最⼤空闲连接
spring.redis.pool.max-idle=8
# 连接池中的最⼩空闲连接
spring.redis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=0

16.spring-boot-starter-actuator模块
解析:
[1]应⽤配置类:获取应⽤程序中加载的应⽤配置、环境变量、⾃动化配置报告等与SpringBoot应⽤密切相关的配置类信息
[2]度量指标类:获取应⽤程序运⾏过程中⽤于监控的度量指标,⽐如:内存信息、线程池信息、HTTP请求统计等
[3]操作控制类:提供了对应⽤的关闭等操作类功能

17.多主键策略
解析:IdType.AUTO[自动],IdType.INPUT[用户输入],IdType.ID_WORKER[自动],IdType.UUID[自动]。配方方法是在主键ID上加注解:@TableId(value=“ID”, type=IdType.AUTO),推荐使用增长主键。

18.lombok工具
解析:
[1]@Data:注解在类上;提供类所有属性的getter和setter方法,此外还提供了equals、canEqual、hashCode、toString方法
[2]@Setter:注解在属性上;为属性提供setting方法
[3]@Getter:注解在属性上;为属性提供getting方法
[4]@Log4j:注解在类上;为类提供一个属性名为log的log4j日志对象
[5]@NoArgsConstructor:注解在类上,为类提供一个无参的构造方法
[6]@AllArgsConstructor:注解在类上,为类提供一个全参的构造方法

19.@Version
解析:乐观锁注解、标记@Verison在字段上。

20.Shiro架构
解析:
[1]Subject:任何可以与应用交互的用户。
[2]SecurityManager:相当于SpringMVC中的DispatcherServlet,所有具体的交互都通过SecurityManager进行控制,它管理着所有Subject,并且负责进行认证、授权、会话及缓存的管理。
[3]Authenticator:负责Subjuect认证,可以自定义实现。可以使用认证策略,即什么情况算是用户认证通过。
[4]Authorizer:授权器,用来决定主体是否有权限进行相应的操作
[5]Realm:可以有1个或多个Relmn,可以认为是安全实体数据源,即用于获取安全实体。可以是JDBC实现,也可以是内存实现等。由用户提供,所以一般在应用中都需要实现自己的Realm。
[6]SessionManager:管理Session生命周期的组件,而Shiro并不仅仅可以用在Web环境,也可以用在普通的JavaSE环境。
[7]CacheManager:缓存控制器,用来管理用户、角色、权限等的缓存,因为这些数据基本上很少改变,放在缓存中后可以提高访问的性能。
[8]Cryptography:密码模块,Shiro提高了一些常见的加密组件用于密码加密/解密。

21.Shiro架构
解析:
在这里插入图片描述


参考文献:
[1]
[2]


推荐阅读
  • 本文深入探讨了UNIX/Linux系统中的进程间通信(IPC)机制,包括消息传递、同步和共享内存等。详细介绍了管道(Pipe)、有名管道(FIFO)、Posix和System V消息队列、互斥锁与条件变量、读写锁、信号量以及共享内存的使用方法和应用场景。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 本文详细探讨了VxWorks操作系统中双向链表和环形缓冲区的实现原理及使用方法,通过具体示例代码加深理解。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 深入解析RDMA中的队列对(Queue Pair)
    本文将详细探讨RDMA架构中的关键组件——队列对(Queue Pair,简称QP),包括其基本概念、硬件与软件实现、QPC的作用、QPN的分配机制以及用户接口和状态机。通过这些内容,读者可以更全面地理解QP在RDMA通信中的重要性和工作原理。 ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • 使用WinForms 实现 RabbitMQ RPC 示例
    本文通过两个WinForms应用程序演示了如何使用RabbitMQ实现远程过程调用(RPC)。一个应用作为客户端发送请求,另一个应用作为服务端处理请求并返回响应。 ... [详细]
  • 深入解析Hadoop的核心组件与工作原理
    本文详细介绍了Hadoop的三大核心组件:分布式文件系统HDFS、资源管理器YARN和分布式计算框架MapReduce。通过分析这些组件的工作机制,帮助读者更好地理解Hadoop的架构及其在大数据处理中的应用。 ... [详细]
  • 利用GitHub热门资源,成功斩获阿里、京东、腾讯三巨头Offer
    Spring框架作为Java生态系统中的重要组成部分,因其强大的功能和灵活的扩展性,被广泛应用于各种规模的企业级应用开发中。本文将通过一份在GitHub上获得极高评价的Spring全家桶文档,探讨如何掌握Spring框架及其相关技术,助力职业发展。 ... [详细]
  • 本文介绍了如何在三台CentOS 7.5虚拟机上通过Docker部署RabbitMQ集群,包括环境准备、容器创建、集群配置及故障处理等内容。 ... [详细]
author-avatar
漫湾镇团委
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有