Common Spring Framework Utility Classes: Assertions, ObjectUtils, StringUtils, CollectionUtils, File/Resource IO, Reflection and AOP Helpers
This article presents a curated collection of Spring Framework utility classes—including assertion helpers, object/array/collection utilities, file and resource IO tools, as well as reflection and AOP utilities—providing ready‑to‑use methods that replace many custom helper functions in Java backend development.
In this article, a senior architect shares a curated list of useful Spring Framework utility classes that can replace many custom helper methods, covering assertions, object and collection utilities, file and resource handling, as well as reflection and AOP helpers.
Assertions
Logical checks to guard against impossible conditions.
JDK -enableassertions flag enables the built‑in assert keyword.
Spring’s Assert class provides methods such as notNull, isTrue, notEmpty, etc.
void notNull(Object object, String message)
void isNull(Object object, String message)
void isTrue(boolean expression, String message)
void notEmpty(Collection collection, String message)
void hasLength(String text, String message)
void hasText(String text, String message)
void isInstanceOf(Class type, Object obj, String message)
void isAssignable(Class superType, Class subType, String message)Object, Array, Collection Utilities
ObjectUtils
String nullSafeClassName(Object obj)
int nullSafeHashCode(Object object)
String nullSafeToString(boolean[] array)
String getIdentityHexString(Object obj)
String identityToString(Object obj)
String getDisplayString(Object obj)StringUtils
boolean isEmpty(Object str)
boolean endsWithIgnoreCase(String str, String suffix)
boolean startsWithIgnoreCase(String str, String prefix)
boolean containsWhitespace(String str)
boolean hasLength(CharSequence str)
boolean hasText(CharSequence str)
boolean substringMatch(CharSequence str, int index, CharSequence substring)
int countOccurrencesOf(String str, String sub)CollectionUtils
boolean isEmpty(Collection<?> collection)
boolean isEmpty(Map<?,?> map)
boolean containsInstance(Collection<?> collection, Object element)
boolean contains(Iterator<?> iterator, Object element)
boolean containsAny(Collection<?> source, Collection<?> candidates)
boolean hasUniqueObject(Collection<?> collection)File, Resource, IO Stream Utilities
FileCopyUtils
byte[] copyToByteArray(File in)
byte[] copyToByteArray(InputStream in)
String copyToString(Reader in)
void copy(byte[] in, File out)
int copy(File in, File out)
void copy(byte[] in, OutputStream out)
int copy(InputStream in, OutputStream out)
int copy(Reader in, Writer out)
void copy(String in, Writer out)ResourceUtils
static boolean isUrl(String resourceLocation)
static URL getURL(String resourceLocation)
static File getFile(String resourceLocation)StreamUtils
void copy(byte[] in, OutputStream out)
int copy(InputStream in, OutputStream out)
void copy(String in, Charset charset, OutputStream out)
long copyRange(InputStream in, OutputStream out, long start, long end)
byte[] copyToByteArray(InputStream in)
String copyToString(InputStream in, Charset charset)
int drain(InputStream in)Reflection and AOP Utilities
ReflectionUtils
Method findMethod(Class<?> clazz, String name)
Method findMethod(Class<?> clazz, String name, Class<?>... paramTypes)
Method[] getAllDeclaredMethods(Class<?> leafClass)
Constructor<T> accessibleConstructor(Class<T> clazz, Class<?>... parameterTypes)
boolean isEqualsMethod(Method method)
boolean isHashCodeMethod(Method method)
boolean isToStringMethod(Method method)
boolean isObjectMethod(Method method)
boolean declaresException(Method method, Class<?> exceptionType)
Field findField(Class<?> clazz, String name)
Field findField(Class<?> clazz, String name, Class<?> type)
boolean isPublicStaticFinal(Field field)
Object getField(Field field, Object target)
void setField(Field field, Object target, Object value)
void makeAccessible(Method method)
void makeAccessible(Field field)
void doWithFields(Class<?> clazz, ReflectionUtils.FieldCallback fc)
void doWithFields(Class<?> clazz, ReflectionUtils.FieldCallback fc, ReflectionUtils.FieldFilter ff)AopUtils
boolean isAopProxy()
boolean isJdkDynamicProxy()
boolean isCglibProxy()
Class<?> getTargetClass()AopContext
Object currentProxy()Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Top Architect
Top Architect focuses on sharing practical architecture knowledge, covering enterprise, system, website, large‑scale distributed, and high‑availability architectures, plus architecture adjustments using internet technologies. We welcome idea‑driven, sharing‑oriented architects to exchange and learn together.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
