mvc work to replicate the error
This commit is contained in:
		
							parent
							
								
									aaa1111c79
								
							
						
					
					
						commit
						fdfb24d960
					
				| @ -18,34 +18,16 @@ | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.springframework</groupId> | ||||
|             <artifactId>spring-orm</artifactId> | ||||
|             <artifactId>spring-webmvc</artifactId> | ||||
|             <version>${org.springframework.version}</version> | ||||
|         </dependency> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>org.springframework</groupId> | ||||
|             <artifactId>spring-context</artifactId> | ||||
|             <version>${org.springframework.version}</version> | ||||
|         </dependency> | ||||
| 
 | ||||
|         <!-- persistence --> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>org.hibernate</groupId> | ||||
|             <artifactId>hibernate-core</artifactId> | ||||
|             <version>4.2.1.Final</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.javassist</groupId> | ||||
|             <artifactId>javassist</artifactId> | ||||
|             <version>3.17.1-GA</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>mysql</groupId> | ||||
|             <artifactId>mysql-connector-java</artifactId> | ||||
|             <version>5.1.25</version> | ||||
|             <scope>runtime</scope> | ||||
|         </dependency> | ||||
| 
 | ||||
|         <!-- utils --> | ||||
| 
 | ||||
|         <dependency> | ||||
|  | ||||
| @ -1,18 +0,0 @@ | ||||
| package org.baeldung.spring.persistence.config; | ||||
| 
 | ||||
| import org.springframework.context.annotation.ComponentScan; | ||||
| import org.springframework.context.annotation.Configuration; | ||||
| import org.springframework.context.annotation.ImportResource; | ||||
| import org.springframework.transaction.annotation.EnableTransactionManagement; | ||||
| 
 | ||||
| @Configuration | ||||
| @EnableTransactionManagement | ||||
| @ComponentScan({ "org.baeldung.spring.persistence.dao", "org.baeldung.spring.persistence.service" }) | ||||
| @ImportResource({ "classpath:hibernate4Config.xml" }) | ||||
| public class HibernateXmlConfig { | ||||
| 
 | ||||
|     public HibernateXmlConfig() { | ||||
|         super(); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| @ -1,79 +0,0 @@ | ||||
| package org.baeldung.spring.persistence.config; | ||||
| 
 | ||||
| import java.util.Properties; | ||||
| 
 | ||||
| import javax.sql.DataSource; | ||||
| 
 | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.context.annotation.Bean; | ||||
| import org.springframework.context.annotation.ComponentScan; | ||||
| import org.springframework.context.annotation.Configuration; | ||||
| import org.springframework.context.annotation.PropertySource; | ||||
| import org.springframework.core.env.Environment; | ||||
| import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor; | ||||
| import org.springframework.jdbc.datasource.DriverManagerDataSource; | ||||
| import org.springframework.orm.hibernate4.HibernateTransactionManager; | ||||
| import org.springframework.orm.hibernate4.LocalSessionFactoryBean; | ||||
| import org.springframework.transaction.annotation.EnableTransactionManagement; | ||||
| 
 | ||||
| import com.google.common.base.Preconditions; | ||||
| 
 | ||||
| @Configuration | ||||
| @EnableTransactionManagement | ||||
| @PropertySource({ "classpath:persistence-mysql.properties" }) | ||||
| @ComponentScan({ "org.baeldung.spring.persistence.dao", "org.baeldung.spring.persistence.service" }) | ||||
| public class PersistenceConfig { | ||||
| 
 | ||||
|     @Autowired | ||||
|     private Environment env; | ||||
| 
 | ||||
|     public PersistenceConfig() { | ||||
|         super(); | ||||
|     } | ||||
| 
 | ||||
|     @Bean | ||||
|     public LocalSessionFactoryBean sessionFactory() { | ||||
|         final LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); | ||||
|         sessionFactory.setDataSource(restDataSource()); | ||||
|         sessionFactory.setPackagesToScan(new String[] { "org.baeldung.spring.persistence.model" }); | ||||
|         sessionFactory.setHibernateProperties(hibernateProperties()); | ||||
| 
 | ||||
|         return sessionFactory; | ||||
|     } | ||||
| 
 | ||||
|     @Bean | ||||
|     public DataSource restDataSource() { | ||||
|         final DriverManagerDataSource dataSource = new DriverManagerDataSource(); | ||||
|         dataSource.setDriverClassName(Preconditions.checkNotNull(env.getProperty("jdbc.driverClassName"))); | ||||
|         dataSource.setUrl(Preconditions.checkNotNull(env.getProperty("jdbc.url"))); | ||||
|         dataSource.setUsername(Preconditions.checkNotNull(env.getProperty("jdbc.user"))); | ||||
|         dataSource.setPassword(Preconditions.checkNotNull(env.getProperty("jdbc.pass"))); | ||||
| 
 | ||||
|         return dataSource; | ||||
|     } | ||||
| 
 | ||||
|     @Bean | ||||
|     public HibernateTransactionManager transactionManager() { | ||||
|         final HibernateTransactionManager txManager = new HibernateTransactionManager(); | ||||
|         txManager.setSessionFactory(sessionFactory().getObject()); | ||||
| 
 | ||||
|         return txManager; | ||||
|     } | ||||
| 
 | ||||
|     @Bean | ||||
|     public PersistenceExceptionTranslationPostProcessor exceptionTranslation() { | ||||
|         return new PersistenceExceptionTranslationPostProcessor(); | ||||
|     } | ||||
| 
 | ||||
|     final Properties hibernateProperties() { | ||||
|         return new Properties() { | ||||
|             { | ||||
|                 setProperty("hibernate.hbm2ddl.auto", env.getProperty("hibernate.hbm2ddl.auto")); | ||||
|                 setProperty("hibernate.dialect", env.getProperty("hibernate.dialect")); | ||||
| 
 | ||||
|                 // setProperty("hibernate.globally_quoted_identifiers", "true"); | ||||
|                 // note: necessary in launchpad-storage, but causing problems here | ||||
|             } | ||||
|         }; | ||||
|     } | ||||
| } | ||||
| @ -1,14 +0,0 @@ | ||||
| package org.baeldung.spring.persistence.dao; | ||||
| 
 | ||||
| import org.springframework.stereotype.Repository; | ||||
| 
 | ||||
| @Repository | ||||
| public class FooDao implements IFooDao { | ||||
| 
 | ||||
|     public FooDao() { | ||||
|         super(); | ||||
|     } | ||||
| 
 | ||||
|     // API | ||||
| 
 | ||||
| } | ||||
| @ -1,5 +0,0 @@ | ||||
| package org.baeldung.spring.persistence.dao; | ||||
| 
 | ||||
| public interface IFooDao { | ||||
|     // | ||||
| } | ||||
| @ -1,31 +0,0 @@ | ||||
| package org.baeldung.spring.persistence.model; | ||||
| 
 | ||||
| import javax.persistence.Entity; | ||||
| import javax.persistence.GeneratedValue; | ||||
| import javax.persistence.GenerationType; | ||||
| import javax.persistence.Id; | ||||
| 
 | ||||
| @Entity | ||||
| public class Foo { | ||||
| 
 | ||||
|     @Id | ||||
|     @GeneratedValue(strategy = GenerationType.AUTO) | ||||
|     private long id; | ||||
| 
 | ||||
|     public Foo() { | ||||
|         super(); | ||||
|     } | ||||
| 
 | ||||
|     // API | ||||
| 
 | ||||
|     public long getId() { | ||||
|         return id; | ||||
|     } | ||||
| 
 | ||||
|     public void setId(final long id) { | ||||
|         this.id = id; | ||||
|     } | ||||
| 
 | ||||
|     // | ||||
| 
 | ||||
| } | ||||
| @ -1,19 +0,0 @@ | ||||
| package org.baeldung.spring.persistence.service; | ||||
| 
 | ||||
| import org.baeldung.spring.persistence.dao.IFooDao; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | ||||
| 
 | ||||
| @Service | ||||
| public class FooService { | ||||
| 
 | ||||
|     @Autowired | ||||
|     private IFooDao fooDao; | ||||
| 
 | ||||
|     public FooService() { | ||||
|         super(); | ||||
|     } | ||||
| 
 | ||||
|     // API | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,39 @@ | ||||
| package org.baeldung.spring.web.config; | ||||
| 
 | ||||
| import org.springframework.context.annotation.Bean; | ||||
| import org.springframework.context.annotation.Configuration; | ||||
| import org.springframework.web.servlet.ViewResolver; | ||||
| import org.springframework.web.servlet.config.annotation.EnableWebMvc; | ||||
| import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; | ||||
| import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; | ||||
| import org.springframework.web.servlet.view.InternalResourceViewResolver; | ||||
| import org.springframework.web.servlet.view.JstlView; | ||||
| 
 | ||||
| @EnableWebMvc | ||||
| @Configuration | ||||
| public class ClientWebConfig extends WebMvcConfigurerAdapter { | ||||
| 
 | ||||
| 	public ClientWebConfig() { | ||||
| 		super(); | ||||
| 	} | ||||
| 
 | ||||
| 	// API | ||||
| 
 | ||||
| 	@Override | ||||
| 	public void addViewControllers(final ViewControllerRegistry registry) { | ||||
| 		super.addViewControllers(registry); | ||||
| 
 | ||||
| 		registry.addViewController("/sample.html"); | ||||
| 	} | ||||
| 
 | ||||
| 	@Bean | ||||
| 	public ViewResolver viewResolver() { | ||||
| 		final InternalResourceViewResolver bean = new InternalResourceViewResolver(); | ||||
| 
 | ||||
| 		bean.setViewClass(JstlView.class); | ||||
| 		bean.setPrefix("/WEB-INF/view/"); | ||||
| 		bean.setSuffix(".jsp"); | ||||
| 
 | ||||
| 		return bean; | ||||
| 	} | ||||
| } | ||||
| @ -1,35 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <beans xmlns="http://www.springframework.org/schema/beans"  | ||||
|    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  | ||||
|    xmlns:context="http://www.springframework.org/schema/context" | ||||
|    xsi:schemaLocation=" | ||||
|       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd | ||||
|       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"> | ||||
| 
 | ||||
|     <context:property-placeholder location="classpath:persistence-mysql.properties" /> | ||||
|      | ||||
|     <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> | ||||
|         <property name="dataSource" ref="dataSource" /> | ||||
|         <property name="packagesToScan" value="org.baeldung.spring.persistence.model" /> | ||||
|         <property name="hibernateProperties"> | ||||
|             <props> | ||||
|                 <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop> | ||||
|                 <prop key="hibernate.dialect">${hibernate.dialect}</prop> | ||||
|             </props> | ||||
|         </property> | ||||
|     </bean> | ||||
| 
 | ||||
|     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> | ||||
|         <property name="driverClassName" value="${jdbc.driverClassName}" /> | ||||
|         <property name="url" value="${jdbc.url}" /> | ||||
|         <property name="username" value="${jdbc.user}" /> | ||||
|         <property name="password" value="${jdbc.pass}" /> | ||||
|     </bean> | ||||
| 
 | ||||
|     <bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> | ||||
|         <property name="sessionFactory" ref="sessionFactory" /> | ||||
|     </bean> | ||||
|      | ||||
|     <bean id="persistenceExceptionTranslationPostProcessor" class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" /> | ||||
| 
 | ||||
| </beans> | ||||
| @ -1,10 +0,0 @@ | ||||
| # jdbc.X | ||||
| jdbc.driverClassName=com.mysql.jdbc.Driver | ||||
| jdbc.url=jdbc:mysql://localhost:3306/spring_hibernate_dao_01?createDatabaseIfNotExist=true | ||||
| jdbc.user=tutorialuser | ||||
| jdbc.pass=tutorialmy5ql | ||||
| 
 | ||||
| # hibernate.X | ||||
| hibernate.dialect=org.hibernate.dialect.MySQL5Dialect | ||||
| hibernate.show_sql=false | ||||
| hibernate.hbm2ddl.auto=create-drop | ||||
| @ -1,6 +1,14 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> | ||||
| <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||
| 	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" | ||||
| 	xsi:schemaLocation=" | ||||
|       http://java.sun.com/xml/ns/javaee | ||||
|       http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" | ||||
| 	id="WebApp_ID" version="3.0"> | ||||
| 
 | ||||
| 	<display-name>Spring MVC Application</display-name> | ||||
| 
 | ||||
| 	<!-- Spring root --> | ||||
| 	<context-param> | ||||
| 		<param-name>contextClass</param-name> | ||||
| 		<param-value> | ||||
| @ -9,9 +17,26 @@ | ||||
| 	</context-param> | ||||
| 	<context-param> | ||||
| 		<param-name>contextConfigLocation</param-name> | ||||
|     <param-value>org.baeldung.spring.persistence.config</param-value> | ||||
| 		<param-value>org.baeldung.spring.web.config</param-value> | ||||
| 	</context-param> | ||||
| 
 | ||||
| 	<listener> | ||||
| 		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> | ||||
| 	</listener> | ||||
| 
 | ||||
| 	<!-- Spring child --> | ||||
| 	<servlet> | ||||
| 		<servlet-name>mvc</servlet-name> | ||||
| 		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> | ||||
| 		<load-on-startup>1</load-on-startup> | ||||
| 	</servlet> | ||||
| 	<servlet-mapping> | ||||
| 		<servlet-name>mvc</servlet-name> | ||||
| 		<url-pattern>/</url-pattern> | ||||
| 	</servlet-mapping> | ||||
| 
 | ||||
| 	<welcome-file-list> | ||||
| 		<welcome-file>index.html</welcome-file> | ||||
| 	</welcome-file-list> | ||||
| 
 | ||||
| </web-app> | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user