Spring cglib
In this section we will learn about Spring cglib library and understand the importance of it. You will also find the url to download cglib library
What is cglib?
The cglib is high performance library in Java. It is used to extend Java classes and implement interfaces in runtime. It is one the best quality code generation library available in Java. The latest version of cglib library can be downloaded from http://cglib.sourceforge.net/.
The cglib library is free software and can be used for personal and commercial purposes.
Spring 3 framework uses cglib2 for manipulating the Java classes in runtime. The cglib library is not included in Spring 3.0 distribution. So, you have to manually download and include in your project.
On the cglib home page you will find the link to download.

If you don't include the cglib dependency in your Spring 3 project you
might get the following error:
Jan 2, 2010 3:22:07 PM
org.springframework.context.support.AbstractApplicationContext
prepareRefresh INFO: Refreshing
org.springframework.context.annotation.AnnotationConfigApplicationContext@15eb0a9:
Exception in thread "main" at
org.springframework.context.annotation.ConfigurationClassPost
startup date [Sat Jan 02 15:22:07 IST 2010]; root of context hierarchy
Either add CGLIB to the classpath or remove the following @Configuration
bean definitions: [spring3HelloWorldConfig]
Processor.enhanceConfigurationClasses(
at
org.springframework.context.annotation.ConfigurationClass
PostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:147)
at
org.springframework.context.support.AbstractApplicationContext.invokeBean at
org.springframework.context.support.AbstractApplicationContext.invoke
FactoryPostProcessors(AbstractApplicationContext.java:624)
BeanFactoryPostProcessors(
at
org.springframework.context.support.AbstractApplication
Context.refresh(AbstractApplicationContext.java:398)
at
org.springframework.context.annotation.Annotation at net.roseindia.Spring3HelloWorldConfigTest.main(
ConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:65)


