|
4月前
|
JSON Java 数据格式
|

不定参数入参

本文介绍了Spring Boot中接口参数的处理方式,包括非JSON格式(如@RequestBody、@RequestParam)和JSON格式入参(如JSONObject、封装对象)的使用示例,并展示了如何通过@Valid进行参数校验,提升接口健壮性与可维护性。

48 0
|
4月前
|
存储 安全 Java
|

认证源码分析与自定义后端认证逻辑

本文深入分析Spring Security认证流程,从UsernamePasswordAuthenticationFilter到AuthenticationManager、ProviderManager,最终解析DaoAuthenticationProvider如何通过UserDetailsService实现自定义认证。重点揭示了自定义用户服务需实现loadUserByUsername并返回含权限的UserDetails对象,结合配置类注册服务,实现数据库认证。附完整代码仓库。

74 0
|
4月前
|
存储 缓存 Java
|

自动装配机制

本文深入解析SpringBoot自动装配机制,从@SpringBootApplication注解入手,剖析其组合注解原理。重点讲解@AutoConfigurationPackage通过@Import实现包扫描路径注册,以及@AutoConfigurationImportSelector如何借助SpringFactoriesLoader加载spring.factories中配置的自动装配类,结合条件注解实现智能化配置,最终实现“约定优于配置”的核心思想。(238字)

59 0
|
4月前
|
存储 监控 Java
|

整合切面,参数拦截+过滤

该类基于Spring AOP实现请求参数的前置拦截与日志记录,自动捕获Controller层请求的URL、方式、参数及响应方法,并记录执行耗时,便于调试与监控,支持后续扩展如数据脱敏或存储。

497 0
|
4月前
|
XML Java Maven
|

打包

该配置文件为Maven项目构建设置,指定Java 1.8编译版本,集成Spring Boot插件并设定主启动类。通过`java -jar`运行Jar包,支持前台或后台启动,结合`nohup`实现后台持久化运行,可通过端口查找PID并使用`kill -9`命令停止服务。

62 0
|
4月前
|
JSON 安全 Java
|

6.鉴权

本文介绍基于Spring Security与JWT实现客户端Token认证方案,涵盖依赖配置、安全设置、JWT生成与验签、自定义认证及过滤器实现,结合RBAC权限控制,保护Spring Boot应用接口安全。

139 0
|
4月前
|
Web App开发 安全 JavaScript
|

5.跨域处理

本文介绍了跨域问题的产生原因及解决方案。当协议、域名或端口不同时,浏览器因同源策略阻止资源访问。通过CORS(跨域资源共享)机制,使用`@CrossOrigin`注解、全局配置`WebMvcConfigurer`或自定义过滤器添加响应头,可实现安全跨域。

82 0
|
4月前
|
XML SQL Java
|

整合Logback,滚动记录+多文件

本文档包含logback-spring.xml配置文件及使用示例,定义了多种日志记录器(如INFO、ERROR、SQL等),并演示如何在Java项目中通过LogProxy获取指定日志实例,实现分类日志输出与管理。

107 0
|
4月前
|
安全 Java 开发工具
|

1.工程搭建与验证

本文介绍如何基于阿里云脚手架快速搭建SpringBoot工程(选用2.7.6版本),并整合Spring Security。通过引入web和security依赖,编写简单接口,验证安全框架自动跳转登录页功能,使用默认用户密码登录后访问接口。完整代码见GitHub仓库Day01分支。

63 0
|
4月前
|
安全 Java 开发工具
|

工程搭建与验证

本文介绍如何基于阿里云脚手架快速搭建Spring Boot工程,整合Spring Security实现基础安全控制。涵盖项目初始化、代码结构解析、Web与Security依赖引入、登录验证及默认用户认证流程,并提供完整源码仓库与分支下载。

53 0
|
4月前
|
安全 Java Spring
|

过滤器原理分析

本文详解Spring Security过滤器链的加载原理,通过DelegatingFilterProxy、FilterChainProxy到SecurityFilterChain,揭示十五个过滤器如何自动装配并生效,帮助理解框架底层机制,为自定义认证页面打下基础。

70 3
|
4月前
|
Java 数据库连接 数据库
|

Mybatis映射关系(1-1 1-n n-n)

本文介绍MyBatis中四种关联映射:一对一(resultMap解决字段与属性映射)、一对多(使用`<collection>`映射集合)、多对一(使用`<association>`关联对象)及多对多(通过中间类结合`<collection>`实现)。适用于处理数据库表间复杂关系,提升数据封装灵活性。

57 0
|
4月前
|
安全 Java Spring
|

2.过滤器链加载原理

通过分析DelegatingFilterProxy、FilterChainProxy与SecurityFilterChain,揭示了Spring Security中15个过滤器的加载机制。虽未显式配置,实则由框架自动组装。底层原理明晰后,方可更好自定义登录页面,实现认证功能。

47 0
|
4月前
|
前端开发 程序员 开发者
|

常见注解及使用说明

本文介绍了SpringMVC中@RequestMapping注解的作用及原理,它将HTTP请求映射到控制器方法,实现前后端接口路径对应。并通过@GetMapping等派生注解简化常用请求类型,帮助开发者高效构建Web接口。

62 3
|
4月前
|
安全 Java 数据安全/隐私保护
|

认识SpringSecurity

Spring Security 是成熟的安全框架,提供认证、鉴权及防御网络攻击等核心功能。支持多种认证方式(如OAuth2、JWT)、基于URL和方法的权限控制,并通过过滤器链实现安全逻辑,保障应用安全。

86 0
|
4月前
|
Java
|

@Inherited

@Inherited 是 Java 中的元注解,用于修饰其他注解,使其在类继承中可被子类继承。当某注解使用 @Inherited 时,若该注解应用于父类,其子类将自动继承该注解。但仅适用于类的继承,不适用于接口继承或类实现接口的场景。

58 0
|
4月前
|
存储 缓存 Java
|

自动装配机制

本文深入解析SpringBoot自动装配机制,从@SpringBootApplication注解入手,剖析其组合注解原理。重点讲解@EnableAutoConfiguration如何通过@AutoConfigurationPackage和AutoConfigurationImportSelector实现包扫描与自动配置类加载,结合@ComponentScan、元注解及spring.factories机制,揭示SpringBoot“约定优于配置”的底层实现逻辑。

220 0
|
4月前
|
存储 安全 Java
|

1.RememberMe简介及用法

RememberMe功能实现用户关闭浏览器后仍保持登录状态,通过Cookie存储令牌而非明文密码。Spring Security中配置rememberMe()并设置key,登录时生成持久化令牌存于Cookie,后续请求自动携带验证身份。但需防范令牌泄露风险,可通过数据库持久化Token并增加二次校验提升安全性。

79 0
|
4月前
|
安全 Java 应用服务中间件
|

3.实现权限管理的技术

权限管理技术选型需综合考量。常见方案如Apache Shiro,轻量易用但安全维护弱;Spring Security功能强大,适合Spring生态但较重;自定义ACL贴近业务但通用性差。多数工具均为ACL或RBAC的封装,应根据项目需求权衡选择。

60 0
|
4月前
|
存储 安全 小程序
|

1.认识OAuth2.0

OAuth2.0是一种开放授权标准,允许第三方应用在用户授权下安全访问资源,无需获取用户账号密码。其核心为令牌机制,支持四种模式:授权码模式(最安全,常用于第三方登录)、简化模式(适用于无后端应用)、密码模式(需高度信任)和客户端模式(服务间调用)。广泛应用于API授权与单点登录场景。

91 0
|
4月前
|
安全 数据安全/隐私保护
|

1.什么是权限管理

权限管理包含认证与授权两大核心:认证验证用户身份(如登录),授权则根据角色分配资源访问权限。通过角色叠加生成可访问菜单,实现操作安全控制,避免数据泄露等问题,为系统提供全面安全保障。

289 0
|
4月前
|
数据安全/隐私保护
|

2.OAuth2.0实战案例

本教程介绍OAuth2四大授权模式实现:创建父工程及资源、授权模块,配置启动类与处理器;通过授权码、简化、密码及客户端模式测试,完成登录认证、权限授予、令牌申请与资源访问全流程。

518 0
|
4月前
|
存储 NoSQL 关系型数据库
|

4-MongoDB索引知识

MongoDB索引通过B树结构提升查询效率,避免全表扫描。支持单字段、复合、地理空间、文本及哈希索引,适用于等值、范围、排序、全文检索等多种查询场景,显著提升大数据量下的查询性能。

38 0
|
4月前
|
存储 NoSQL 关系型数据库
|

1-MongoDB相关概念

MongoDB是一款高性能、无模式的文档型NoSQL数据库,适用于高并发、海量数据、高扩展性场景。它以BSON格式存储数据,灵活支持复杂数据结构,广泛应用于社交、游戏、物联网、物流和视频直播等领域。适合无需事务、需快速迭代、高读写负载及大规模地理查询的应用,相较MySQL可大幅降低开发运维成本。

97 0
|
4月前
|
存储 JSON NoSQL
|

MongoDB常用命令

本文介绍MongoDB数据库操作,包括创建与删除数据库、集合的显式与隐式创建、文档的增删改查及分页排序查询。以文章评论数据存储为例,演示了实际CRUD操作与注意事项。

82 0
|
4月前
|
敏捷开发 Java 测试技术
|

为什么要单元测试

本文探讨单元测试如何让软件开发“提速”而非“踩刹车”。从测试体系演进出发,解析为何谷歌、微软等企业推崇“测试金字塔”,强调单元测试作为地基的重要性。它能提升调试效率、代码质量与研发信心,助力持续交付。忽视单测将积累技术债务,陷入维护困境。写好单测,是迈向高效、可演进系统的必由之路。

47 0
|
4月前
|
存储 NoSQL 关系型数据库
|

MongoDB索引知识

MongoDB索引基于B树结构,提升查询效率,避免全集合扫描。支持单字段、复合、地理空间、文本及哈希索引,优化相等匹配、范围查询与排序操作,显著提升大数据量下的查询性能。

53 0
|
4月前
|
前端开发 数据可视化
|

什么是低代码

用户可通过拖拽组件快速生成前端表单页面,可视化操作界面简洁直观,支持实时预览与配置,提升开发效率,适用于低代码平台的表单设计场景。

57 0
|
4月前
|
缓存 Java 数据库连接
|

MyBatis常见配置

本文介绍 MyBatis 核心配置与多环境管理,涵盖属性加载优先级(方法参数 > resource/url > properties 元素)、关键配置项如缓存、延迟加载、执行器类型等,并详解 environments 环境配置及事务管理机制(JDBC 与 MANAGED),适用于多数据源场景。

460 1
|
4月前
|
存储 JSON NoSQL
|

3-MongoDB常用命令

本文介绍如何使用MongoDB存储文章评论数据,涵盖数据库与集合的创建、增删改查操作及分页排序查询。使用`use`创建数据库,通过`insert()`插入文档,`find()`查询数据并支持投影与条件筛选,`update()`结合`$set`实现局部更新,`remove()`删除文档,配合`limit()`、`skip()`和`sort()`实现分页排序功能。所有操作均基于BSON格式,适用于高效管理非结构化数据。

165 0
|
4月前
|
SQL 缓存 Java
|

汇总

MyBatis配置优先级:方法参数 > resource/url > properties内定义。支持多环境、事务管理(JDBC/MANAGED),XML实现一对一、一对多、多对多映射,分页支持逻辑与物理方式,推荐物理分页。提供一级、二级缓存及三种执行器,优化批量操作性能。

460 1
|
4月前
|
Java 大数据
|

ArrayList扩容机制

ArrayList的add方法添加元素时,先调用ensureCapacityInternal()确保容量。首次添加时,最小容量设为10,触发扩容;后续添加若超出当前容量,则调用grow()将容量扩为原来的1.5倍。grow()通过位运算高效计算新容量,确保集合动态扩展性能。注意:length用于数组,length()用于字符串,size()用于集合。

76 0
|
4月前
|
SQL 关系型数据库 Java
|

3.分页

本文介绍了五种分页实现方式:MyBatis自带RowBounds内存分页、PageHelper插件分页、SQL原生分页、数组分页(查全量再subList)及拦截器分页。前两者属逻辑分页,数据量大时易溢出;后三者为物理分页,直接在数据库层分页,适合大数据量场景。总结指出:小数据量可用逻辑分页,推荐优先使用物理分页以提升性能与稳定性。(238字)

217 1
|
4月前
|
XML JSON Java
|

2.映射关系(1-1 1-n n-n)

MyBatis中通过resultMap实现关联映射:一对一使用基本映射或resultMap解决字段不一致;一对多在“一”方配置`<collection>`,如用户关联多个角色;多对一通过`<association>`实现,如博客关联作者;多对多借助中间类,双方均用`<collection>`维护关系,如用户与部门的双向关联。

45 0
|
4月前
|
存储 缓存 算法
|

零拷贝

实现文件传输时,传统方式需频繁系统调用与内存拷贝,导致大量上下文切换和性能损耗。零拷贝技术通过减少用户态与内核态切换、避免重复数据拷贝,显著提升性能。结合PageCache可优化小文件读取,而大文件场景则宜用异步IO+直接IO,避免缓存污染,兼顾效率与并发。

74 0
|
4月前
|
NoSQL Java 测试技术
|

MongoDB实战演练

本文介绍某头条文章评论系统的设计与实现,基于MongoDB和SpringDataMongoDB构建微服务。内容涵盖需求分析、表结构设计、技术选型、实体类编写及增删改查功能开发,并实现按文章ID查询评论、分页查询子评论、评论点赞等功能,重点利用MongoTemplate提升点赞操作效率。

81 0
|
4月前
|
缓存 Java 数据库连接
|

1.常见配置

MyBatis配置优先级:方法参数 > resource/url > properties内属性。核心设置包括缓存、延迟加载、主键生成等。支持多环境配置,通过environments指定,默认使用development。事务管理可选JDBC或MANAGED,与Spring集成时由Spring接管。

521 0
|
4月前
|
NoSQL Linux Shell
|

2-MongoDB单机部署

本文介绍MongoDB在Windows与Linux系统中的安装启动及连接方法。涵盖下载安装包、解压配置、命令行或配置文件启动服务,以及通过mongo shell和Compass图形化工具连接数据库。同时提供Linux环境下部署单机MongoDB的详细步骤,包括目录创建、配置文件编写、防火墙设置与服务启停操作,确保快速上手并稳定运行。

68 0
|
4月前
|
Java
|

类加载

Java中代码块执行顺序为:静态代码块 > 局部代码块 > 构造器。静态代码块随类加载执行,仅一次;局部代码块在方法内执行;构造代码块每次创建对象前调用,优先于构造方法执行,且先于main函数运行。

54 0
|
4月前
|
监控 算法 Unix
|

Thread.sleep(0) 到底有什么用(读完就懂)

Thread.Sleep(0)并非无用,它会触发操作系统立即重新进行CPU竞争,让其他线程获得执行机会,避免界面假死。而Sleep(1000)也不保证精确唤醒,因线程调度受优先级和系统负载影响。理解其原理有助于编写更高效的多线程程序。

52 0
|
4月前
|
运维 Devops 开发工具
|

生产环境缺陷管理

针对大型团队多分支开发中bug协同难、易遗漏等问题,我们基于go-git打造了分布式工具git-poison,实现bug的精准追溯与自动化卡点。通过“投毒-解毒-银针”机制,打通开发、测试、发布与运维环节,有效避免未修复、漏合、漏发等P1级故障,降低沟通成本,提升发布安全性与效率,已在公司内部落地应用超一年,稳定可靠。

64 0
|
4月前
|
存储 Java 编译器
|

Java泛型类型擦除以及类型擦除带来的问题

Java泛型在编译时会进行类型擦除,泛型信息被移除,仅保留原始类型(如Object或限定类型)。擦除后,List<String>和List<Integer>均变为List,导致getClass()相等;反射可绕过泛型限制,证明类型检查基于引用而非对象。静态成员不能使用类的泛型参数,因泛型实例化依赖对象创建,而静态上下文无此支持。

68 0
|
4月前
|
Java 应用服务中间件 网络安全
|

Eclipse运行SSM/SSH项目教程

本文介绍了Eclipse环境下项目运行的完整流程,包括JDK、Tomcat等基础软件的配置,项目导入步骤,以及Eclipse与Tomcat的绑定方法。通过图文指导,帮助开发者快速搭建Java Web开发环境并成功启动项目。

67 0
|
4月前
|
SQL 运维 监控
|

如何做好SQL质量监控

git-poison基于go-git实现分布式bug追溯,解决多分支开发中bug漏修、漏发问题。通过“投毒-解毒-银针”机制,自动化卡点发布流程,降低协同成本,提升发布安全性与效率,已在大型团队落地应用。

49 0
|
4月前
|
敏捷开发 Java 测试技术
|

为什么要单元测试

本文探讨单元测试在现代软件开发中的重要性,打破“写单测拖慢进度”的误区,阐述其如何提升代码质量、调试效率与团队协作,并推动项目长期高效演进。

56 0
|
4月前
|
存储 缓存 安全
|

One Trick Per Day

本文总结Java开发中六大关键规范:避免HashMap初始化容量设置不当,禁用Executors创建线程池以防OOM,Arrays.asList不可变操作,优先使用entrySet遍历Map,SimpleDateFormat非线程安全需避免static,以及并发修改记录时合理加锁。遵循这些实践可提升系统稳定性与性能。

239 0
|
4月前
|
Java 测试技术 Linux
|

生产环境发布管理

本文介绍大型团队如何通过自动化部署平台实现多环境(dev/test/pre/prod)高效发布。涵盖各环境职责、基于Jenkins+K8S的CI/CD流程、分支管理与一键部署,并结合Skywalking等工具实现日志链路追踪与快速排错,提升发布效率与系统稳定性。

285 0
|
4月前
|
运维 Devops 开发工具
|

生产环境缺陷管理

针对大型团队中多分支开发导致的bug管理难题,本文介绍基于go-git实现的通用化工具git-poison。通过“投毒-解毒-银针”机制,实现bug的分布式追溯与自动化卡点,有效避免漏修复、漏发布等问题,降低协同成本,提升发布安全性与效率。

56 0
|
4月前
|
缓存 Java 数据库连接
|

1.常见配置

本文介绍了MyBatis的核心配置机制,包括属性加载优先级(方法参数 > resource/url > properties元素)、常见配置项如缓存、延迟加载、执行器类型等,并详解了多环境配置方式及事务管理(JDBC与MANAGED)的使用场景,适用于数据库连接与事务控制的灵活管理。

80 1
|
4月前
|
存储 JSON NoSQL
|

3-MongoDB常用命令

本文介绍MongoDB数据库的基本操作,包括数据库与集合的创建、删除,文档的增删改查及分页排序查询。以文章评论系统为例,演示数据存储结构及常用命令使用方法。

86 1

大数据与机器学习

大数据领域前沿技术分享与交流,这里不止有技术干货、学习心得、企业实践、社区活动,还有未来。

4
今日
69440
内容
128
活动
439896
关注
你好!
登录掌握更多精彩内容

相关产品

  • 大数据开发治理平台 DataWorks
  • 检索分析服务 Elasticsearch版
  • 日志服务