Browse documentation

Spring proxying

Your own Spring-managed classes stay eligible for protection; Spring's own proxy-generation internals don't.

What it covers

Reflective-proxy frameworks split into two categories, and RJNI treats them differently. Your own classes, a @Component, a @Service, a JPA entity, anything Spring wraps or proxies at runtime, are customer intellectual property and remain eligible for protection, translated and renamed like any other class. What's excluded is narrower: the internal machinery Spring's own proxy generation depends on, so that generating a proxy for one of your classes at runtime doesn't fail because a piece of Spring's own plumbing was renamed or translated out from under it.

The equivalent exclusion for the proxy-generation libraries themselves (CGLIB, ByteBuddy, Javassist, Hibernate's bytecode provider), used by Spring and by other frameworks alike, is documented separately: Proxy-library internals.