Per
SJC-17, Spring's RequiredAnnotationBeanPostProcessor cannot work with JavaConfig due to the fact that JavaConfig does not (and will not ever) set a BeanDefinition's PropertyValues.
This calls for an implementation that employs a different strategy for checking that @Required properties have been set.
After exploring a number of options, this will be done using AspectJ.
The net effect will be identical to that of Spring's original RequiredAnnotationBeanPostProcessor: a BeanInitializationException will be thrown if @Required properties are not set.
SJC-91back into trunk to resolve issueSJC-91. @Required methods can now be checked by JavaConfig, with a little help from AspectJ"Sending trunk/.classpath
Sending trunk/.project
Sending trunk/.springBeans
Sending trunk/pom.xml
Sending trunk/src/main/java/org/springframework/config/java/annotation/Configuration.java
Adding trunk/src/main/java/org/springframework/config/java/aspects
Adding trunk/src/main/java/org/springframework/config/java/aspects/RequiredMethodInvocationRegistry.java
Adding trunk/src/main/java/org/springframework/config/java/aspects/RequiredMethodInvocationTracker.java
Sending trunk/src/main/java/org/springframework/config/java/context/JavaConfigApplicationContext.java
Sending trunk/src/main/java/org/springframework/config/java/process/ConfigurationProcessor.java
Adding trunk/src/main/java/org/springframework/config/java/process/RequiredAnnotationBeanPostProcessor.java
Adding trunk/src/main/resources
Adding trunk/src/main/resources/META-INF
Adding trunk/src/main/resources/META-INF/aop.xml
Adding trunk/src/test/java/issues/Sjc91Tests.java
Sending trunk/src/test/java/org/springframework/config/java/AspectJConfigurationProcessorTests.java
Sending trunk/src/test/java/org/springframework/config/java/LifecycleTests.java
Sending trunk/src/test/java/org/springframework/config/java/context/JavaConfigApplicationContextConstructionTests.java
Sending trunk/src/test/java/org/springframework/config/java/context/JavaConfigApplicationContextTests.java
Sending trunk/src/test/java/org/springframework/config/java/context/JavaConfigWebApplicationContextTests.java
Adding trunk/src/test/java/org/springframework/config/java/test/Assert.java
Adding trunk/src/test/resources/issues/Sjc91Tests.xml
Transmitting file data ............
Committed revision 11499.