热门标签 | 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]


推荐阅读
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • 本课程详细介绍了如何使用Python Flask框架从零开始构建鱼书应用,涵盖高级编程技巧和实战项目。通过视频教学,学员将学习到Flask的高效用法,包括数据库事务处理和书籍交易模型的实现。特别感谢AI资源网提供的课程下载支持。 ... [详细]
  • Spring框架入门指南:专为新手打造的详细学习笔记
    Spring框架是Java Web开发中广泛应用的轻量级应用框架,以其卓越的功能和出色的性能赢得了广大开发者的青睐。本文为初学者提供了详尽的学习指南,涵盖基础概念、核心组件及实际应用案例,帮助新手快速掌握Spring框架的核心技术与实践技巧。 ... [详细]
  • HTTP请求与响应机制:基础概览
    在Web浏览过程中,HTTP协议通过请求和响应报文实现客户端与服务器之间的通信。当用户访问一个网页时,浏览器会发送一个HTTP请求报文至服务器,服务器接收到请求后,会生成并返回一个HTTP响应报文。这两种报文均包含三个主要部分:起始行、头部字段和消息体,确保了数据的有效传输和解析。 ... [详细]
  • 在处理大规模并发请求时,传统的多线程或多进程模型往往无法有效解决性能瓶颈问题。尽管它们在处理小规模任务时能提升效率,但在高并发场景下,系统资源的过度消耗和上下文切换的开销会显著降低整体性能。相比之下,Python 的 `asyncio` 模块通过协程提供了一种轻量级且高效的并发解决方案。本文将深入解析 `asyncio` 模块的原理及其在实际应用中的优化技巧,帮助开发者更好地利用协程技术提升程序性能。 ... [详细]
  • 如何在Spark数据排序过程中有效避免内存溢出(OOM)问题
    本文深入探讨了在使用Spark进行数据排序时如何有效预防内存溢出(OOM)问题。通过具体的代码示例,详细阐述了优化策略和技术手段,为读者在实际工作中遇到类似问题提供了宝贵的参考和指导。 ... [详细]
  • 深入解析JWT的实现与应用
    本文深入探讨了JSON Web Token (JWT) 的实现机制及其应用场景。JWT 是一种基于 RFC 7519 标准的开放性认证协议,用于在各方之间安全地传输信息。文章详细分析了 JWT 的结构、生成和验证过程,并讨论了其在现代 Web 应用中的实际应用案例,为开发者提供了全面的理解和实践指导。 ... [详细]
  • 本文介绍了如何通过掌握 IScroll 技巧来实现流畅的上拉加载和下拉刷新功能。首先,需要按正确的顺序引入相关文件:1. Zepto;2. iScroll.js;3. scroll-probe.js。此外,还提供了完整的代码示例,可在 GitHub 仓库中查看。通过这些步骤,开发者可以轻松实现高效、流畅的滚动效果,提升用户体验。 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • 本文介绍了使用 Python 编程语言高效抓取微博文本和动态网页图像数据的方法。通过详细的示例代码,展示了如何利用爬虫技术获取微博内容和动态图片,为数据采集和分析提供了实用的技术支持。对于对网络数据抓取感兴趣的读者,本文具有较高的参考价值。 ... [详细]
  • 进程(Process)是指计算机中程序对特定数据集的一次运行活动,是系统资源分配与调度的核心单元,构成了操作系统架构的基础。在早期以进程为中心的计算机体系结构中,进程被视为程序的执行实例,其状态和控制信息通过任务描述符(task_struct)进行管理和维护。本文将深入探讨进程的概念及其关键数据结构task_struct,解析其在操作系统中的作用和实现机制。 ... [详细]
  • 获取贵州省毕节市高分辨率谷歌卫星影像图
    毕节市,作为贵州省西北部的重要地级市,地处乌蒙山脉核心区域,是连接四川、云南和贵州三省的关键节点。本研究旨在获取该地区的高分辨率谷歌卫星影像图,以全面展示其独特的地理特征和城市布局。通过这些高清影像,研究人员能够更深入地分析毕节市的自然环境、城市规划及发展状况。 ... [详细]
  • MySQL:不仅仅是数据库那么简单
    MySQL不仅是一款高效、可靠的数据库管理系统,它还具备丰富的功能和扩展性,支持多种存储引擎,适用于各种应用场景。从简单的网站开发到复杂的企业级应用,MySQL都能提供强大的数据管理和优化能力,满足不同用户的需求。其开源特性也促进了社区的活跃发展,为技术进步提供了持续动力。 ... [详细]
  • 深入解读代码页与字符集的概念及其实际应用
    许多开发者可能未曾留意到这一问题,但如果您的网站频繁遭遇不明原因的乱码现象,深入了解代码页与字符集的概念及其实际应用将大有裨益。代码页(Codepage),即内码表,是计算机系统中用于映射字符与其编码值的一种机制,不同的代码页支持不同的字符集,正确选择和配置代码页对于确保文本数据的准确显示至关重要。在多语言环境下,合理运用字符集和代码页能够有效避免字符编码冲突,提升用户体验。 ... [详细]
  • 在使用sbt构建项目时,遇到了“对象apache不是org软件包的成员”的错误。本文详细分析了该问题的原因,并提供了有效的解决方案,包括检查依赖配置、清理缓存和更新sbt插件等步骤,帮助开发者快速解决问题。 ... [详细]
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社区 版权所有