Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Configuration
- @EnableWebMvc
- @EnableTransactionManagement
- @ComponentScan("it.uniroma3")
- @PropertySource("classpath:application.properties")
- @EnableJpaRepositories("it.uniroma3.repository")
- public class DBWebConfig {
- private static final String PROPERTY_NAME_DATABASE_DRIVER = "db.driver";
- private static final String PROPERTY_NAME_DATABASE_PASSWORD = "db.password";
- private static final String PROPERTY_NAME_DATABASE_URL = "db.url";
- private static final String PROPERTY_NAME_DATABASE_USERNAME = "db.username";
- private static final String PROPERTY_NAME_HIBERNATE_DIALECT = "hibernate.dialect";
- private static final String PROPERTY_NAME_HIBERNATE_SHOW_SQL = "hibernate.show_sql";
- private static final String PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN = "entitymanager.packages.to.scan";
- private static final String PROPERTY_NAME_HIBERNATE_HBM2DDL = "hibernate.hbm2ddl.auto";
- @Resource
- private Environment env;
- @Bean
- public DataSource dataSource(){
- DriverManagerDataSource dataSource = new DriverManagerDataSource();
- dataSource.setDriverClassName(env.getRequiredProperty(PROPERTY_NAME_DATABASE_DRIVER));
- dataSource.setUrl(env.getRequiredProperty(PROPERTY_NAME_DATABASE_URL));
- dataSource.setUsername(env.getRequiredProperty(PROPERTY_NAME_DATABASE_USERNAME));
- dataSource.setPassword(env.getRequiredProperty(PROPERTY_NAME_DATABASE_PASSWORD));
- return dataSource;
- }
- @Bean
- public LocalContainerEntityManagerFactoryBean entityManagerFactory(){
- LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
- entityManagerFactoryBean.setDataSource(dataSource());
- entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistence.class);
- entityManagerFactoryBean.setPackagesToScan(env.getRequiredProperty(PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN));
- entityManagerFactoryBean.setJpaProperties(hibProperties());
- return entityManagerFactoryBean;
- }
- private Properties hibProperties() {
- Properties properties = new Properties();
- properties.put(PROPERTY_NAME_HIBERNATE_DIALECT, env.getRequiredProperty(PROPERTY_NAME_HIBERNATE_DIALECT));
- properties.put(PROPERTY_NAME_HIBERNATE_SHOW_SQL, env.getRequiredProperty(PROPERTY_NAME_HIBERNATE_SHOW_SQL));
- properties.put(PROPERTY_NAME_HIBERNATE_HBM2DDL, env.getRequiredProperty(PROPERTY_NAME_HIBERNATE_HBM2DDL));
- return properties;
- }
- @Bean
- public JpaTransactionManager transactionManager() {
- JpaTransactionManager transactionManager = new JpaTransactionManager();
- transactionManager.setEntityManagerFactory(entityManagerFactory().getObject());
- return transactionManager;
- }
- @Bean
- public ResourceBundleMessageSource messageSource() {
- ResourceBundleMessageSource source = new ResourceBundleMessageSource();
- source.setBasename(env.getRequiredProperty("message.source.basename"));
- source.setUseCodeAsDefaultMessage(true);
- return source;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement