- 博客(568)
- 资源 (11)
- 收藏
- 关注

原创 好链接收藏
Maven搜索-最快捷的Maven搜索-由源码阅读网提供技术服务 (coderead.cn)在线画图工具ProcessOn在线画图工具draw.io在线思维导图工具PlantUML在线编辑器BASE64加密解密MD5编码工具AES/DES加解密JWT解码工具ASCII编解码工具Unicode编解码工具UTF-8编解码工具字符串编解码工具URL编解码工具在线ASCII码对照表通用进制转换工具在线浮点数十进制转换RGB颜色转换时间戳转换工具计量单位换算工具在线JSON解析在线JS代码格式化工具SQL压缩/格式化
2024-10-07 18:20:58
1478

原创 Linux教程
Linux的远程访问Linux的概述先了解UnixUnix是一个强大的多用户、多任务操作系统。于1969年在AT&T的贝尔实验室开发。UNIX的商标权由国际开放标准组织(The Open Group)所拥有。UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。Linux的概述Linux是基于Unix的。
2024-01-15 12:13:48
1163
原创 通过RedisCacheManager自定义缓存序列化(适用通过注解缓存数据)
1.Spring Boot整合Redis组件提供的缓存自动配置类RedisCacheConfiguration(org.springframework.boot.autoconfigure.cache),其内部是通过Redis连接工厂RedisConnectionFactory定义了一个缓存管理器RedisCacheManager;同时定义RedisCacheManager时,也默认使用了JdkSerializationRedisSerializer序列化方式。
2025-06-10 10:50:41
458
原创 通过RedisTemplate自定义缓存序列化(通过api缓存数据)
1.使用RedisTemplate进行Redis数据缓存操作时,内部默认使用的是JdkSerializationRedisSerializer序列化方式,所以进行数据缓存的实体类必须实现JDK自带的序列化接口(例如Serializable);2.使用RedisTemplate进行Redis数据缓存操作时,如果自定义了缓存序列化方式defaultSerializer,那么将使用自定义的序列化方式。
2025-06-10 10:48:27
481
原创 基于API的Redis缓存实现
编写一个进行业务处理的类ApiCommentService,使用@Autowired注解注入Redis API中常用的RedisTemplate(类似于Java基础API中的JdbcTemplate);然后在数据查询、修改和删除三个方法中,根据业务需求分别进行数据缓存查询、缓存存储、缓存更新和缓存删除。同时,Comment数据对应缓存管理的key值都手动设置了一个前缀“comment_”,这是针对不同业务数据进行缓存管理设置的唯一key,避免与其他业务缓存数据的key重复。
2025-06-10 10:46:29
304
原创 基于注解的Redis缓存实现
可以看出,评论存储到了redis缓存库中comment名称空间下,key=comment::1,value=经过JDK默认序列化格式后的HEX格式值,不方便查看,需要自定义数据的序列化格式。打开Redis客户端可视化管理工具Redis Desktop Manager,连接本地启用的Redis服务。项目启动成功后,通过Redis客户端可视化管理工具Redis Desktop Manager查看缓存信息。reload,查看缓存信息,该条缓存被删除。项目启动成功后,通过浏览器访问。
2025-06-10 10:44:11
197
原创 外星人入侵-武装飞船
游戏《外星人入侵》大概的玩法说明:在游戏《外星人入侵》中,玩家控制着一艘最初出现在屏幕底部中央的武装飞船。玩家可以使用方向键左右移动飞船,使用空格键进行射击。当游戏开始时,一个外星舰队出现在天空中,并向屏幕下方移动。玩家的任务是消灭这些外星人。玩家将外星人消灭干净后,将出现一个新的外星舰队,其移动速度更快。只要有外星人撞到玩家的飞船或到达屏幕下边缘,玩家就损失一艘飞船。玩家损失三艘飞船后,游戏结束。在开发的第一个阶段,我们将创建一艘飞船,这艘飞船在用户按方向键时能够左右移动,并在用户按空格键时开火。
2025-05-27 13:28:37
753
1
原创 配置文件属性值注入到对象的属性
使用Spring Boot全局配置文件配置属性时,如果配置的属性是Spring Boot内置的属性(如服务端口server.port),那么Spring Boot会自动扫描并读取配置文件中的属性值并覆盖原有默认的属性值。如果配置的属性是用户自定义的属性,可以通过Java代码去读取该配置属性,并且把属性注入到Bean。在Spring Boot项目中可以通过 @Value、Environment对象和@ConfigurationProperties对配置属性进行注入。
2025-05-22 11:29:01
414
原创 全局配置文件
SpringBoot默认使用application.properties和application.yml作为全局配置文件,启动时自动读取并覆盖默认配置。application.properties采用键值对格式,支持系统属性、环境变量、命令参数及自定义属性,并可配置对象属性、数组、集合等复杂类型。application.yml则采用YAML格式,通过缩进表示层级关系,支持列表、键值对等数据结构,编写时需遵循特定规则。SpringBoot会扫描多个位置的配置文件,优先级从高到低依次为:file:./confi
2025-05-19 15:07:15
850
原创 Spring Boot入门案例(Spring Initializr方式,IDEA版)
SpringInitializr是一个用于创建和初始化SpringBoot项目的工具,需在联网状态下使用。创建项目时,通过选择“Project”→“NewProject”并指定SpringInitializr选项,配置项目的基本信息如名称、路径、开发语言、构建工具等。接着,选择SpringBoot的依赖项,如SpringWeb。项目结构包括启动类、静态资源文件夹、模板页面文件夹、全局配置文件和Maven配置文件。编写SpringMVC控制器时,创建控制器类并定义处理请求的方法。最后,通过运行启动类文件启动项
2025-05-19 10:43:44
312
原创 python笔记和练习----少儿编程课程【阶段二(二)】
1、删除第一个出现的指定元素列表.remove(元素)2.删除末尾元素列表.pop()3、清空列表的所有数据列表.clear()4、删除指定位置的元素del 列表[索引]`del` 关键字本质上是用来 将一个变量从内存中删除的。
2025-05-10 18:55:25
332
原创 springboot(36课时)考试内容及参考
一、功能要求请编写一个程序,完成对员工的管理 ,实现两个功能:1、显示所有的员工,要求员工所属部门名称也要显示出来。2、添加员工。二、具体功能要求及推荐实现步骤a.实现员工列表查询功能;b.实现获取所有部门的功能;c.实现员工添加;6.在employee_list.html实现展示所有员工。7.在employee_add.html实现获取用户的输入发送给后端,如果添加成功,跳转到列表界面。
2025-05-06 11:59:46
1342
原创 spring security用户退出
Spring security默认实现了用户退出的功能,用户退出主要考虑退出后会话如何管理以及跳转到哪个页面。HttpSecurity类提供了logout()方法开启退出登录的支持,默认触发用户退出操作的URL为“/logout”,用户退出时同时也会清除Session等默认用户配置。
2025-04-28 14:48:56
508
原创 Spring Security会话管理
用户认证通过后,为了避免用户的每次操作都进行认证,可以将用户的信息保存在会话中。会话就是系统为了保持当前用户的登录状态所提供的机制,常见的有基于Session方式、基于Token方式等。Spring Security提供会话管理功能,只需要配置即可使用。同时,如果想结束当前会话,可以在自定义退出功能中销毁会话中的用户信息。
2025-04-28 14:42:20
406
原创 spring security获取用户信息
Spring Security对用户信息认证通过后,会将用户信息存入Spring Security应用的上下文对象SecurityContext中,SecurityContext与当前线程进行绑定,需要获取用户信息时,可以通过SecurityContextHolder获取SecurityContext对象,进而使用SecurityContext对象获取用户信息。
2025-04-28 14:40:01
230
原创 springboot(2.6.13)自定义用户授权管理
重启项目进行效果测试,项目启动成功后,通过浏览器访问http://localhost:8080/路径是"/detail/common/**",只有用户角色是common才允许访问。路径是"/detail/vip/**",只有用户角色是vip才允许访问。在查看VIP电影详情时,页面会出现403 Forbidden的错误信息。项目首页单击普通电影或者VIP专享电影名称查询电影详情。在此登录界面输入普通用户的用户名和密码,访问普通电影。在项目首页中单击VIP专享电影名称查看影片详情,路径是“/”,直接放行。
2025-04-28 14:05:30
375
原创 Spring Security授权管理
根据授权的位置和形式,通常可以将授权的方式分为Web授权和方法授权,这两种授权方式都会调用AccessDecisionManager进行授权决策。下面分别对这两种自定义授权的方式进行讲解。1.Web授权Spring Security的底层实现本质是通过多个Filter形成的过滤器链完成,过滤器链中提供了默认的安全拦截机制,设置安全拦截规则,以控制用户的访问。
2025-04-28 14:02:01
803
原创 springboot(2.6.13)自定义用户认证
注:@EnableWebSecurity注解是一个组合注解,主要包括@Configuration注解、@Import({WebSecurityConfiguration.class, SpringWebMvcImportSelector.class})注解和@EnableGlobalAuthentication注解UserDetailsService是Security提供的进行认证用户信息封装的接口,该接口提供的loadUserByUsername(String s)方法用于通过用户名加载用户信息。
2025-04-27 11:36:11
1135
原创 Spring Security自定义身份认证
使用InMemoryUserDetailsManager和JdbcUserDetailsManager进行身份认证时,其真正的认证逻辑都在UserDetailsService接口重写的loadUserByUsername()方法中。对于一个完善的项目来说,通常会实现用户信息查询服务,对此可以自定义一个UserDetailsService实现类,重写该接口的loadUserByUsername()方法,在该方法中查询用户信息,将查询到的用户信息填充到UserDetails对象返回,以实现用户的身份认证。
2025-04-27 11:32:02
893
原创 Spring Security认证流程
④ 如果返回的UserDetails对象不为空,则返回UserDetails对象,最后AuthenticationManager 认证管理器返回一个被填充满了信息的Authentication 实例,包括权限信息, 身份信息,细节信息,但密码通常会被移除。③ AuthenticationManager根据当前的认证类型进行认证,认证时会根据提交的用户信息最终返回一个SpringSecurity的UserDetails对象,如果返回的UserDetails对象为空,则说明认证失败,抛出异常。
2025-04-24 20:16:10
349
原创 Spring Security结构总览
当初始化Spring Security时,会创建一个类型为org.springframework.security.web.FilterChainProxy,名称为springSecurityFilterChain过滤器,这个过滤器实现了javax.servlet.Filter接口,外部请求系统资源时会经过此过滤器。CsrfFilter:Spring Security会对所有Post请求验证是否包含系统生成的csrf的token信息,如果不包含,则报错,起到防止csrf攻击的效果。
2025-04-24 20:11:15
314
原创 Spring Security基础入门
本入门案例主要演示Spring Security在Spring Boot中的安全管理效果。为了更好地使用Spring Boot整合实现Spring Security安全管理功能,体现案例中Authentication(认证)和Authorization(授权)功能的实现,本案例在Spring Boot项目中结合Spring MVC和Thymeleaf实现访问图书管理后台页面。
2025-04-24 19:09:19
307
原创 安全框架概述
Java中的安全框架通常是指解决Web应用安全问题的框架,如果开发Web应用时没有使用安全框架,开发者需要自行编写代码增加Web应用安全性。自行实现Web应用的安全性并不容易,需要考虑不同的认证和授权机制、网络关键数据传输加密等多方面的问题,为此Web应用中通常会选择使用一些成熟的安全框架,这些安全框架基本都提供了一套Web应用安全性的完整解决方案,以便提升Web应用的安全性。
2025-04-24 18:44:23
416
原创 springboot整合redis实现缓存
对CommentService类中的方法进行修改使用@Cacheable、@CachePut、@CacheEvict三个注解定制缓存管理,修改后的方法如下基于注解的Redis查询缓存测试项目启动成功后,通过浏览器访问http://localhost:8088/get/1,如果控制台显示如下:需要对实体类进行序列化,对Comment修改如下:再次测试,并重复刷新浏览器,只出现一条sql语句打开Redis客户端可视化管理工具Redis Desktop Manager,连接本地启用的Redi
2025-04-24 15:42:58
1305
原创 Spring Boot默认缓存管理
Spring框架支持透明地向应用程序添加缓存,以及对缓存进行管理,其管理缓存的核心是将缓存应用于操作数据的方法,从而减少操作数据的执行次数,同时不会对程序本身造成任何干扰。Spring Boot继承了Spring框架的缓存管理功能,下面将对Spring Boot内置的缓存方案进行讲解。Spring的缓存机制将提供的缓存作用于Java 方法上,基于缓存中的可用信息,可以减少方法的执行次数。
2025-04-24 15:25:22
843
原创 动手试一试 Spring Boot默认缓存管理
使用之前创建的springbootdata的数据库,该数据库有两个表t_article和t_comment,这两个表预先插入几条测试数据。
2025-04-24 14:50:13
487
原创 spring boot 文件下载
添加有中文处理方法的fileDownload(),中文处理方法getFilename(HttpServletRequest request,String filename)用来根据不同浏览器对下载的中文名进行转码。/**在fileDownload(String filename)方法中,设定了被下载文件的路径为“F:/file/”、文件下载的打开方式和返回形式;注释在FileController类的fileDownload()方法,注释之前写的fileDownload,添加如下的fileDownload。
2025-04-16 15:34:38
645
原创 spring boot 文件上传
*uploadFile()方法处理路径为“/uploadFile”的POST请求,对上传文件进行处理。#thymeleaf对html的标签约束非常严格,所有的标签必须有开有闭,比如#<br></br>或者<br/>是可以的,但是<br>会报错,配置#spring.thymeleaf.mode=LEGACYHTML5 目的就是为了解决这个问题,可以使页面#松校验。参数),fileUpload参数名必须与upload.html页面中上传文件<input>框中的name属性值一致。
2025-04-16 15:31:57
799
原创 SpringBoot整合Java Web三大件
目的:注册自定义的Servlet、Filter、Listener组件到springboot内嵌的Servlet容器,让它们发挥自己的作用。
2025-04-16 15:28:10
945
原创 Spring Boot管理Spring MVC
在Spring Boot应用中使用Spring MVC时,如果希望在为Spring MVC自动配置提供相关特性的同时,再增加一些自定义的Spring MVC配置,例如添加拦截器、视图控制器等,可以通过自定义WebMvcConfigurer类型的配置类来实现。
2025-04-16 15:25:20
1442
1
原创 springboot 异常处理
在日常的 Web 开发中,项目中难免会出现各种异常,为了使客户端能接收较为友好的提示,通常开发者会对异常进行统一处理。为了便于开发者处理异常,Spring Boot通过自动装配提供了一套默认的异常处理机制,一旦程序中出现了异常,Spring Boot会根据该机制进行默认的异常处理。除了默认的异常处理,Spring Boot也支持自定义异常处理。
2025-04-16 15:05:28
945
原创 redis
简介:Redis 是一个开源(BSD许可)的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件,并提供多种语言的API。连接名字自定义,主机127.0.0.1。打开redis连接配置窗口。双击打开可视化的客户端。
2025-03-31 07:25:47
272
原创 在eclipse中通过git放弃某个版本之前所有的更新
首先确保所有的修改都是跟踪状态的,如果是新建的文件,通过add to index,变为跟踪状态。然后是在左侧项目上面点击鼠标右键,选择team--》reset--》选择版本。
2025-03-29 16:57:49
325
原创 Spring Boot整合Spring Data JPA
Spring Data中按照框架的规范自定义了Repository接口,除了可以使用接口提供的默认方法外,还可以按特定规则来定义查询方法,只要这些查询方法的方法名遵守特定的规则,不需要提供方法实现体,Spring Data就会自动为这些方法生成查询语句。Spring Data对这种特定的查询方法的定义规范如下:以find、read、get、query、count开头。涉及查询条件时,条件的属性使用条件关键字连接,并且条件属性的首字母大写。
2025-03-24 05:50:47
1168
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人