Since Spring Framework 3.0, the JavaConfig features are included in the Core Spring module. Thus Java Developer could move Spring beans definition from configuration XML files to Java classes.
Based on Spring Framework 6.2, Spring Data JPA 3.4, Spring Security 6.4 and Hibernate ORM 6.6, this sample show how to use the Spring's new Java-configuration support and its @Configuration-annotated class.
The following classes, interfaces and annotations are used in the sample:
- JavaConfig main classes and annotations:
@Configuration
,@Bean
,@ComponentScan
,@Import
,@ImportResource
,@Profile
,Environment
,JndiObjectFactoryBean
,@Scope
- Spring Test:
@WebAppConfiguration
,@ContextConfiguration
,@ActiveProfiles
,@ContextHierarchy
- Advanced Spring Framework features:
@EnableTransactionManagement
,@EnableAsync
,@EnableCaching
,@EnableAspectJAutoProxy
- Spring Data JPA annotations:
@EnableJpaRepositories
- Spring Security classes:
@EnableWebMvcSecurity
,WebSecurityConfigurerAdapter
- Spring MVC features:
@EnableWebMvc
,WebMvcConfigurerAdapter
,RequestMappingHandlerAdapter
,InternalResourceViewResolver
,ignoreDefaultModelOnRedirect
Download the code with git:
git clone git://github.com/arey/spring-javaconfig-sample.git
Compile the code with maven:
mvn clean install
If you're using an IDE that supports Maven-based projects (InteliJ Idea, Netbeans or m2Eclipse), you can import the project directly from its POM. Otherwise, generate IDE metadata with the related IDE maven plugin:
mvn eclipse:clean eclipse:eclipse
French articles on the javaetmoi.com blog:
- Uses Maven as a build tool
- Uses GitHub Actions for continuous integration builds