Advertisement
Guest User

Untitled

a guest
Sep 11th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.97 KB | None | 0 0
  1. jdbc.driverClassName = org.hsqldb.jdbcDriver
  2. jdbc.url = jdbc:hsqldb:mem:press
  3. jdbc.username = user
  4. jdbc.password =
  5. hibernate.dialect=org.hibernate.dialect.HSQLDialect
  6. hibernate.show_sql = false
  7. hibernate.format_sql = false
  8.  
  9. @Configuration
  10. @EnableTransactionManagement
  11. @PropertySource(value = { "classpath:hibernate.properties" })
  12. public class HibernateConfig {
  13.  
  14. @Autowired
  15. private Environment environment;
  16.  
  17. @Bean
  18. public EntityManagerFactory entityManagerFactory(DataSource dataSource, JpaVendorAdapter jpaVendorAdapter) {
  19. LocalContainerEntityManagerFactoryBean lef = new LocalContainerEntityManagerFactoryBean();
  20. lef.setDataSource(dataSource);
  21. lef.setJpaVendorAdapter(jpaVendorAdapter);
  22. lef.setPackagesToScan("net.agilob.press.entity");
  23. return lef.getNativeEntityManagerFactory();
  24. }
  25.  
  26. @Bean
  27. public LocalSessionFactoryBean sessionFactory() {
  28. LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
  29. sessionFactory.setDataSource(dataSource());
  30. sessionFactory.setPackagesToScan(new String[] { "net.agilob.press.entity" });
  31. sessionFactory.setHibernateProperties(hibernateProperties());
  32. return sessionFactory;
  33. }
  34.  
  35. @Bean
  36. public DataSource dataSource() {
  37. DriverManagerDataSource dataSource = new DriverManagerDataSource();
  38. dataSource.setDriverClassName(environment.getRequiredProperty("jdbc.driverClassName"));
  39. dataSource.setUrl(environment.getRequiredProperty("jdbc.url"));
  40. dataSource.setUsername(environment.getRequiredProperty("jdbc.username"));
  41. dataSource.setPassword(environment.getRequiredProperty("jdbc.password"));
  42. return dataSource;
  43. }
  44.  
  45. private Properties hibernateProperties() {
  46. Properties properties = new Properties();
  47. properties.put("hibernate.dialect", environment.getRequiredProperty("hibernate.dialect"));
  48. properties.put("hibernate.show_sql", environment.getRequiredProperty("hibernate.show_sql"));
  49. properties.put("hibernate.format_sql", environment.getRequiredProperty("hibernate.format_sql"));
  50. properties.put("hibernate.hbm2ddl.auto", environment.getRequiredProperty("create-drop"));
  51.  
  52. return properties;
  53. }
  54.  
  55. @Bean
  56. @Autowired
  57. public HibernateTemplate getHibernateTemplate(SessionFactory sessionFactory) {
  58. HibernateTemplate hibernateTemplate = new HibernateTemplate(sessionFactory);
  59. return hibernateTemplate;
  60. }
  61.  
  62. @Bean
  63. @Autowired
  64. public HibernateTransactionManager transactionManager(SessionFactory s) {
  65. HibernateTransactionManager txManager = new HibernateTransactionManager();
  66. txManager.setSessionFactory(s);
  67. return txManager;
  68. }
  69. }
  70.  
  71. @Configuration
  72. @ComponentScan(basePackages = "net.agilob.press.entity")
  73. @EnableJpaRepositories(basePackages = "net.agilob.press.entity.repository")
  74. @Import(HibernateConfig.class)
  75. public class AppConfig {
  76.  
  77. @Bean
  78. public PostService getPostService() {
  79. return new PostService();
  80. }
  81. }
  82.  
  83. @RunWith(SpringJUnit4ClassRunner.class)
  84. @ContextConfiguration(classes = AppConfig.class, loader = AnnotationConfigContextLoader.class)
  85. @Transactional
  86. public class PostDAOTest {
  87.  
  88. @Autowired
  89. private PostService postService;
  90.  
  91. @Before
  92. public void setUp() {
  93. Post post = new Post();
  94. post.setContent("body");
  95. post.setDescription("description");
  96. post.setIntroduction("introduction");
  97. post.setTitle("title");
  98. post.setTitleBrowser("title browser");
  99. postRepository.save(post);
  100. }
  101.  
  102. @Test
  103. public void testList() {
  104. // checks if spring wiring was correct
  105. assertNotNull("Problem with spring beans", postRepository);
  106. assertFalse(postRepository.findTop10ByTitleOrderByIdAsc().isEmpty());
  107. }
  108. }
  109.  
  110. @Service("postService")
  111. @Transactional
  112. public class PostService {
  113.  
  114. @Autowired
  115. private PostRepository postRepository;
  116.  
  117. ...
  118. }
  119.  
  120. public interface PostRepository extends BaseRepository<Post, Long> {
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement