mvc work to replicate the error
This commit is contained in:
		
							parent
							
								
									aaa1111c79
								
							
						
					
					
						commit
						fdfb24d960
					
				| @ -18,34 +18,16 @@ | |||||||
|         </dependency> |         </dependency> | ||||||
|         <dependency> |         <dependency> | ||||||
|             <groupId>org.springframework</groupId> |             <groupId>org.springframework</groupId> | ||||||
|             <artifactId>spring-orm</artifactId> |             <artifactId>spring-webmvc</artifactId> | ||||||
|             <version>${org.springframework.version}</version> |             <version>${org.springframework.version}</version> | ||||||
|         </dependency> |         </dependency> | ||||||
|  | 
 | ||||||
|         <dependency> |         <dependency> | ||||||
|             <groupId>org.springframework</groupId> |             <groupId>org.springframework</groupId> | ||||||
|             <artifactId>spring-context</artifactId> |             <artifactId>spring-context</artifactId> | ||||||
|             <version>${org.springframework.version}</version> |             <version>${org.springframework.version}</version> | ||||||
|         </dependency> |         </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 --> |         <!-- utils --> | ||||||
| 
 | 
 | ||||||
|         <dependency> |         <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"?> | <?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> | 	<display-name>Spring MVC Application</display-name> | ||||||
|  | 
 | ||||||
|  | 	<!-- Spring root --> | ||||||
| 	<context-param> | 	<context-param> | ||||||
| 		<param-name>contextClass</param-name> | 		<param-name>contextClass</param-name> | ||||||
| 		<param-value> | 		<param-value> | ||||||
| @ -9,9 +17,26 @@ | |||||||
| 	</context-param> | 	</context-param> | ||||||
| 	<context-param> | 	<context-param> | ||||||
| 		<param-name>contextConfigLocation</param-name> | 		<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> | 	</context-param> | ||||||
|  | 
 | ||||||
| 	<listener> | 	<listener> | ||||||
| 		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> | 		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> | ||||||
| 	</listener> | 	</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> | </web-app> | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user