Advertisement
Guest User

Untitled

a guest
Apr 2nd, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.82 KB | None | 0 0
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  2. <modelVersion>4.0.0</modelVersion>
  3. <groupId>DesertLamp</groupId>
  4. <artifactId>DesertLamp</artifactId>
  5. <version>0.0.1-SNAPSHOT</version>
  6. <packaging>war</packaging>
  7.  
  8. <dependencies>
  9.  
  10. <!-- Spring -->
  11.  
  12. <dependency>
  13. <groupId>org.springframework</groupId>
  14. <artifactId>spring-core</artifactId>
  15. <version>4.2.6.RELEASE</version>
  16. </dependency>
  17.  
  18. <dependency>
  19. <groupId>org.springframework</groupId>
  20. <artifactId>spring-web</artifactId>
  21. <version>4.2.6.RELEASE</version>
  22. </dependency>
  23.  
  24. <dependency>
  25. <groupId>org.springframework</groupId>
  26. <artifactId>spring-webmvc</artifactId>
  27. <version>4.2.6.RELEASE</version>
  28. </dependency>
  29.  
  30. <dependency>
  31. <groupId>org.springframework</groupId>
  32. <artifactId>spring-tx</artifactId>
  33. <version>4.2.6.RELEASE</version>
  34. </dependency>
  35.  
  36. <dependency>
  37. <groupId>org.springframework</groupId>
  38. <artifactId>spring-orm</artifactId>
  39. <version>4.2.6.RELEASE</version>
  40. </dependency>
  41.  
  42. <!-- Spring Security -->
  43.  
  44. <dependency>
  45. <groupId>org.springframework.security</groupId>
  46. <artifactId>spring-security-web</artifactId>
  47. <version>4.1.0.RELEASE</version>
  48. </dependency>
  49.  
  50. <dependency>
  51. <groupId>org.springframework.security</groupId>
  52. <artifactId>spring-security-config</artifactId>
  53. <version>4.1.0.RELEASE</version>
  54. </dependency>
  55.  
  56. <!-- Spring Data JPA -->
  57.  
  58. <dependency>
  59. <groupId>org.springframework.data</groupId>
  60. <artifactId>spring-data-jpa</artifactId>
  61. <version>1.10.1.RELEASE</version>
  62. </dependency>
  63.  
  64. <!-- Hibernate -->
  65.  
  66. <dependency>
  67. <groupId>org.hibernate</groupId>
  68. <artifactId>hibernate-core</artifactId>
  69. <version>5.1.0.Final</version>
  70. </dependency>
  71.  
  72. <dependency>
  73. <groupId>org.hibernate</groupId>
  74. <artifactId>hibernate-validator</artifactId>
  75. <version>5.2.4.Final</version>
  76. </dependency>
  77.  
  78. <dependency>
  79. <groupId>org.hibernate</groupId>
  80. <artifactId>hibernate-entitymanager</artifactId>
  81. <version>5.1.0.Final</version>
  82. </dependency>
  83.  
  84. <!-- Servlet -->
  85.  
  86. <dependency>
  87. <groupId>javax.servlet</groupId>
  88. <artifactId>javax.servlet-api</artifactId>
  89. <version>3.1.0</version>
  90. </dependency>
  91.  
  92. <dependency>
  93. <groupId>javax.servlet.jsp</groupId>
  94. <artifactId>javax.servlet.jsp-api</artifactId>
  95. <version>2.3.1</version>
  96. </dependency>
  97.  
  98. <dependency>
  99. <groupId>javax.servlet</groupId>
  100. <artifactId>jstl</artifactId>
  101. <version>1.2</version>
  102. </dependency>
  103.  
  104. <dependency>
  105. <groupId>javax.transaction</groupId>
  106. <artifactId>jta</artifactId>
  107. <version>1.1</version>
  108. </dependency>
  109.  
  110. <!-- MySQL -->
  111.  
  112. <dependency>
  113. <groupId>mysql</groupId>
  114. <artifactId>mysql-connector-java</artifactId>
  115. <version>5.1.37</version>
  116. </dependency>
  117.  
  118. <!-- Commons Dependencies -->
  119.  
  120. <dependency>
  121. <groupId>commons-dbcp</groupId>
  122. <artifactId>commons-dbcp</artifactId>
  123. <version>1.4</version>
  124. </dependency>
  125.  
  126. <dependency>
  127. <groupId>commons-fileupload</groupId>
  128. <artifactId>commons-fileupload</artifactId>
  129. <version>1.3.1</version>
  130. </dependency>
  131.  
  132. <dependency>
  133. <groupId>org.apache.commons</groupId>
  134. <artifactId>commons-lang3</artifactId>
  135. <version>3.3.2</version>
  136. </dependency>
  137.  
  138. <dependency>
  139. <groupId>commons-logging</groupId>
  140. <artifactId>commons-logging</artifactId>
  141. <version>1.1.1</version>
  142. </dependency>
  143.  
  144. </dependencies>
  145.  
  146. <build>
  147. <sourceDirectory>src</sourceDirectory>
  148. <plugins>
  149. <plugin>
  150. <artifactId>maven-compiler-plugin</artifactId>
  151. <version>3.1</version>
  152. <configuration>
  153. <source>1.8</source>
  154. <target>1.8</target>
  155. </configuration>
  156. </plugin>
  157. <plugin>
  158. <artifactId>maven-war-plugin</artifactId>
  159. <version>2.3</version>
  160. <configuration>
  161. <warSourceDirectory>WebContent</warSourceDirectory>
  162. <failOnMissingWebXml>false</failOnMissingWebXml>
  163. <outputDirectory>C:apache-tomcat-7.0.76webapps</outputDirectory>
  164. </configuration>
  165. </plugin>
  166. </plugins>
  167. </build>
  168. </project>
  169.  
  170. @Configuration
  171. @EnableWebMvc
  172. @EnableJpaRepositories(basePackages = "co.in.desertlamp")
  173. @ComponentScan(basePackages = "co.in.desertlamp")
  174. @Import(value = { DesertLampSecurityConfiguration.class })
  175. public class DesertLampWebApplicationConfig extends WebMvcConfigurerAdapter {
  176.  
  177. @Bean
  178. public InternalResourceViewResolver viewResolver() {
  179. InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
  180. viewResolver.setViewClass(JstlView.class);
  181. viewResolver.setPrefix("/WEB-INF/views/");
  182. viewResolver.setSuffix(".jsp");
  183. return viewResolver;
  184. }
  185. }
  186.  
  187. public class DesertLampInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
  188.  
  189. @Override
  190. protected Class<?>[] getRootConfigClasses() {
  191. return new Class[] { DesertLampWebApplicationConfig.class };
  192. }
  193.  
  194. @Override
  195. protected Class<?>[] getServletConfigClasses() {
  196. return null;
  197. }
  198.  
  199. @Override
  200. protected String[] getServletMappings() {
  201. return new String[] { "/" };
  202. }
  203.  
  204. }
  205.  
  206. @Configuration
  207. @EnableTransactionManagement
  208. @EnableJpaRepositories(basePackages = "co.in.desertlamp")
  209. @ComponentScan({ "co.in.desertlamp" })
  210. @PropertySource(value = { "classpath:/co/in/desertlamp/resources/desertlamp.properties" })
  211. public class DesertLampApplicationConfig {
  212.  
  213. private static final String DATABASE_DRIVER = "db.driver";
  214. private static final String DATABASE_URL = "db.url";
  215. private static final String DATABASE_USERNAME = "db.username";
  216. private static final String DATABASE_PASSWORD = "db.password";
  217.  
  218. private static final String HIBERNATE_DIALECT = "hibernate.dialect";
  219. private static final String HIBERNATE_SHOWSQL = "hibernate.show_sql";
  220. private static final String HIBERNATE_FORMATSQL = "hibernate.format_sql";
  221. private static final String HIBERNATE_HBM2DDL = "hibernate.hbm2ddl.auto";
  222.  
  223. @Resource
  224. private Environment environment;
  225.  
  226. @Bean
  227. public LocalSessionFactoryBean sessionFactory() {
  228. LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
  229. sessionFactory.setDataSource(dataSource());
  230. sessionFactory.setPackagesToScan(new String[] { "co.in.desertlamp" });
  231. sessionFactory.setHibernateProperties(hibernateProperties());
  232. return sessionFactory;
  233. }
  234.  
  235. @Bean
  236. public DataSource dataSource() {
  237. DriverManagerDataSource dataSource = new DriverManagerDataSource();
  238. dataSource.setDriverClassName(environment.getRequiredProperty(DATABASE_DRIVER));
  239. dataSource.setUrl(environment.getRequiredProperty(DATABASE_URL));
  240. dataSource.setUsername(environment.getRequiredProperty(DATABASE_USERNAME));
  241. dataSource.setPassword(environment.getRequiredProperty(DATABASE_PASSWORD));
  242. return dataSource;
  243. }
  244.  
  245. @Bean
  246. @Conditional(DataSourceCondition.class)
  247. public DataSourceInitializer dataSourceInitializer(DataSource dataSource) {
  248. ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator();
  249. //Put Logger here
  250. resourceDatabasePopulator.addScript(new ClassPathResource("/co/in/desertlamp/scripts/loadUserAndRoleData.sql"));
  251. DataSourceInitializer dataSourceInitializer = new DataSourceInitializer();
  252. dataSourceInitializer.setDataSource(dataSource);
  253. dataSourceInitializer.setDatabasePopulator(resourceDatabasePopulator);
  254. return dataSourceInitializer;
  255. }
  256.  
  257. private Properties hibernateProperties() {
  258. Properties hibernateProperties = new Properties();
  259. hibernateProperties.put(HIBERNATE_DIALECT, environment.getRequiredProperty(HIBERNATE_DIALECT));
  260. hibernateProperties.put(HIBERNATE_SHOWSQL, environment.getRequiredProperty(HIBERNATE_SHOWSQL));
  261. hibernateProperties.put(HIBERNATE_FORMATSQL, environment.getRequiredProperty(HIBERNATE_FORMATSQL));
  262. hibernateProperties.put(HIBERNATE_HBM2DDL, environment.getRequiredProperty(HIBERNATE_HBM2DDL));
  263. return hibernateProperties;
  264. }
  265.  
  266. @Bean(name = "entityManagerFactory")
  267. public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
  268. LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
  269. entityManagerFactoryBean.setDataSource(dataSource());
  270. entityManagerFactoryBean.setPackagesToScan(new String[] { "co.in.desertlamp" });
  271.  
  272. JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
  273.  
  274. entityManagerFactoryBean.setJpaVendorAdapter(vendorAdapter);
  275. entityManagerFactoryBean.setJpaProperties(hibernateProperties());
  276. return entityManagerFactoryBean;
  277. }
  278.  
  279. @Bean
  280. public PlatformTransactionManager transactionManager(
  281. EntityManagerFactory entityManagerFactory) {
  282. JpaTransactionManager transactionManager = new JpaTransactionManager();
  283. transactionManager.setEntityManagerFactory(entityManagerFactory);
  284. return transactionManager;
  285. }
  286. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement