本文汇总 Spring、MyBatis 内部工具类,包括 Bean 操作、属性访问、类型转换、反射、集合、字符串、资源、AOP、事件、缓存、性能计时、表达式解析(OGNL/SpEL)、SQL 脚本、插件拦截器等,附详细示例和注意事项。
1. Spring 核心工具类
1.1 Bean 与属性操作
BeanUtils
- 实例化、属性浅拷贝
java User user = new User("刘耀文", 25); UserDTO dto = new UserDTO(); BeanUtils.copyProperties(user, dto); User instance = BeanUtils.instantiateClass(User.class); - 注意事项:浅拷贝,不支持深层对象。
BeanWrapperImpl
- 支持属性访问、嵌套属性、类型转换
java Person p = new Person(); BeanWrapper bw = new BeanWrapperImpl(p); bw.setPropertyValue("name", "测试"); bw.setPropertyValue("address.city", "Shanghai"); bw.setPropertyValue("tags[0]", "dev"); Object age = bw.getPropertyValue("age");
DirectFieldAccessor
- 直接操作字段
java DirectFieldAccessor accessor = new DirectFieldAccessor(p); accessor.setPropertyValue("name", "直接赋值"); System.out.println(accessor.getPropertyValue("name"));
PropertyAccessorFactory
CodeBlock Loading...
1.2 类型转换与数据绑定
ConversionService / DefaultConversionService
CodeBlock Loading...
DataBinder
CodeBlock Loading...
1.3 反射与方法调用
ReflectionUtils
CodeBlock Loading...
ClassUtils
CodeBlock Loading...
MethodInvoker
CodeBlock Loading...
1.4 AOP 与代理
AopUtils
CodeBlock Loading...
ProxyFactory
CodeBlock Loading...
1.5 字符串与对象工具
StringUtils
CodeBlock Loading...
ObjectUtils
CodeBlock Loading...
Assert
CodeBlock Loading...
OptionalUtils
CodeBlock Loading...
1.6 集合与流
CollectionUtils
CodeBlock Loading...
MultiValueMap
CodeBlock Loading...
StreamUtils
CodeBlock Loading...
1.7 文件与资源
ResourceUtils
CodeBlock Loading...
FileCopyUtils
CodeBlock Loading...
PathMatchingResourcePatternResolver
CodeBlock Loading...
1.8 性能计时
StopWatch / StopWatchTaskInfo
CodeBlock Loading...
1.9 注解与校验
AnnotationUtils / MergedAnnotations
CodeBlock Loading...
ValidationUtils
CodeBlock Loading...
1.10 定时与事件
CronSequenceGenerator
CodeBlock Loading...
ApplicationEventPublisher
CodeBlock Loading...
1.11 表达式处理
OGNL(MyBatis 动态 SQL)
CodeBlock Loading...
Spring EL
CodeBlock Loading...
2. MyBatis 核心工具类
2.1 对象与属性
MetaObject
CodeBlock Loading...
PropertyTokenizer
CodeBlock Loading...
Reflector / ReflectorFactory
CodeBlock Loading...
ObjectFactory
CodeBlock Loading...
2.2 类型处理
TypeHandler
CodeBlock Loading...
TypeAliasRegistry
CodeBlock Loading...
2.3 资源与 SQL 脚本
Resources
CodeBlock Loading...
ScriptRunner
CodeBlock Loading...
2.4 缓存与插件
缓存装饰器
CodeBlock Loading...
插件拦截器
CodeBlock Loading...
2.5 工具与集合
CollectionUtils / StringUtil
CodeBlock Loading...
MetaClass
CodeBlock Loading...
3. 总结与建议
- Spring 工具重点:BeanWrapperImpl、StopWatch、ReflectionUtils、ClassUtils、Assert、OptionalUtils、ConversionService、DataBinder、AnnotationUtils、PathMatchingResourcePatternResolver、CronSequenceGenerator、CacheManager、SpEL。
- MyBatis 工具重点:MetaObject、Reflector、ObjectFactory、TypeHandler、TypeAliasRegistry、Resources、ScriptRunner、MetaClass、缓存装饰器、插件拦截器、OGNL。