Advertisement
Guest User

Untitled

a guest
Aug 19th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.05 KB | None | 0 0
  1. @Configuration
  2. @EnableWebMvc
  3. @EnableTransactionManagement
  4. @ComponentScan("it.uniroma3")
  5. @PropertySource("classpath:application.properties")
  6. @EnableJpaRepositories("it.uniroma3.repository")
  7. public class DBWebConfig {
  8.  
  9. private static final String PROPERTY_NAME_DATABASE_DRIVER = "db.driver";
  10. private static final String PROPERTY_NAME_DATABASE_PASSWORD = "db.password";
  11. private static final String PROPERTY_NAME_DATABASE_URL = "db.url";
  12. private static final String PROPERTY_NAME_DATABASE_USERNAME = "db.username";
  13.  
  14. private static final String PROPERTY_NAME_HIBERNATE_DIALECT = "hibernate.dialect";
  15. private static final String PROPERTY_NAME_HIBERNATE_SHOW_SQL = "hibernate.show_sql";
  16. private static final String PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN = "entitymanager.packages.to.scan";
  17. private static final String PROPERTY_NAME_HIBERNATE_HBM2DDL = "hibernate.hbm2ddl.auto";
  18.  
  19. @Resource
  20. private Environment env;
  21.  
  22. @Bean
  23. public DataSource dataSource(){
  24. DriverManagerDataSource dataSource = new DriverManagerDataSource();
  25.  
  26. dataSource.setDriverClassName(env.getRequiredProperty(PROPERTY_NAME_DATABASE_DRIVER));
  27. dataSource.setUrl(env.getRequiredProperty(PROPERTY_NAME_DATABASE_URL));
  28. dataSource.setUsername(env.getRequiredProperty(PROPERTY_NAME_DATABASE_USERNAME));
  29. dataSource.setPassword(env.getRequiredProperty(PROPERTY_NAME_DATABASE_PASSWORD));
  30.  
  31. return dataSource;
  32. }
  33.  
  34. @Bean
  35. public LocalContainerEntityManagerFactoryBean entityManagerFactory(){
  36. LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
  37.  
  38. entityManagerFactoryBean.setDataSource(dataSource());
  39. entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistence.class);
  40. entityManagerFactoryBean.setPackagesToScan(env.getRequiredProperty(PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN));
  41.  
  42. entityManagerFactoryBean.setJpaProperties(hibProperties());
  43.  
  44. return entityManagerFactoryBean;
  45. }
  46.  
  47. private Properties hibProperties() {
  48. Properties properties = new Properties();
  49. properties.put(PROPERTY_NAME_HIBERNATE_DIALECT, env.getRequiredProperty(PROPERTY_NAME_HIBERNATE_DIALECT));
  50. properties.put(PROPERTY_NAME_HIBERNATE_SHOW_SQL, env.getRequiredProperty(PROPERTY_NAME_HIBERNATE_SHOW_SQL));
  51. properties.put(PROPERTY_NAME_HIBERNATE_HBM2DDL, env.getRequiredProperty(PROPERTY_NAME_HIBERNATE_HBM2DDL));
  52.  
  53. return properties;
  54. }
  55.  
  56. @Bean
  57. public JpaTransactionManager transactionManager() {
  58. JpaTransactionManager transactionManager = new JpaTransactionManager();
  59. transactionManager.setEntityManagerFactory(entityManagerFactory().getObject());
  60. return transactionManager;
  61. }
  62.  
  63. @Bean
  64. public ResourceBundleMessageSource messageSource() {
  65. ResourceBundleMessageSource source = new ResourceBundleMessageSource();
  66. source.setBasename(env.getRequiredProperty("message.source.basename"));
  67. source.setUseCodeAsDefaultMessage(true);
  68. return source;
  69. }
  70.  
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement