All Projects → arey → Spring Javaconfig Sample

arey / Spring Javaconfig Sample

Spring JavaConfig example for Spring MVC / Spring Data JPA / Hibernate

Programming Languages

java
68154 projects - #9 most used programming language

Spring Java Config Sample

Since Spring 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 5.0, Spring Data JPA 2.0, Spring Security 4.2 and Hibernate 5.2, 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

Build Status

Travis : Build Status

Cloudbees Jenkins : Build Status

Quick start

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

Documentation

French articles on the javaetmoi.com blog:

Credits

  • Uses Maven as a build tool
  • Uses Cloudbees and Travis CI for continuous integration builds whenever code is pushed into GitHub
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].