2014-09-30 46 views
0

错误错误创建豆类名称与的ContactService和自动装配依赖注射失败

INFO : org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization started 
INFO : org.springframework.web.context.support.XmlWebApplicationContext - Refreshing Root WebApplicationContext: startup date [Tue Sep 30 16:01:51 NPT 2014]; root of context hierarchy 
INFO : org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from ServletContext resource [/WEB-INF/spring/root-context.xml] 
INFO : org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource [datasource-tx-jpa.xml] 
INFO : org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor - JSR-330 'javax.inject.Inject' annotation found and supported for autowiring 
WARN : org.springframework.web.context.support.XmlWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'contactService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.info.ch17.respository.ContactRepository com.info.ch17.service.jpa.ContactServiceImpl.contactRepository; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.info.ch17.respository.ContactRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:326) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1204) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:538) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:725) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) 
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4760) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5184) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714) 
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:581) 
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1686) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.info.ch17.respository.ContactRepository com.info.ch17.service.jpa.ContactServiceImpl.contactRepository; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.info.ch17.respository.ContactRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:542) 
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:323) 
    ... 27 more 
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.info.ch17.respository.ContactRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1261) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1009) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:904) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:514) 
    ... 29 more 
ERROR: org.springframework.web.context.ContextLoader - Context initialization failed 

schema.sql文件

DROP TABLE IF EXISTS CONTACT; 
CREATE TABLE CONTACT (
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY 
, FIRST_NAME VARCHAR(60) NOT NULL 
, LAST_NAME VARCHAR(40) NOT NULL 
, BIRTH_DATE DATE 
, DESCRIPTION VARCHAR(2000) 
, PHOTO BLOB 
, VERSION INT NOT NULL DEFAULT 0 
, UNIQUE UQ_CONTACT_1 (FIRST_NAME, LAST_NAME) 

); 

测试schema.sql文件

insert into contact (first_name, last_name, birth_date) values ('Clarence', 'Ho', '1980-07-30'); 
insert into contact (first_name, last_name, birth_date) values ('Scott', 'Tiger', '1990-11-02'); 
insert into contact (first_name, last_name, birth_date) values ('John', 'Smith', '1964-02-28'); 
insert into contact (first_name, last_name, birth_date) values ('Peter', 'Jackson', '1944-1-10'); 
insert into contact (first_name, last_name, birth_date) values ('Jacky', 'Chan', '1955-10-31'); 
insert into contact (first_name, last_name, birth_date) values ('Susan', 'Boyle', '1970-05-06'); 
insert into contact (first_name, last_name, birth_date) values ('Tinner', 'Turner', '1967-04-30'); 
insert into contact (first_name, last_name, birth_date) values ('Lotus', 'Notes', '1990-02-28'); 
insert into contact (first_name, last_name, birth_date) values ('Henry', 'Dickson', '1997-06-30'); 
insert into contact (first_name, last_name, birth_date) values ('Sam', 'Davis', '2001-01-31'); 
insert into contact (first_name, last_name, birth_date) values ('Max', 'Beckham', '2002-02-01'); 
insert into contact (first_name, last_name, birth_date) values ('Paul', 'Simon', '2002-02-28'); 

**数据源-TX-jpa.xml **

<?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" 
xmlns:jdbc="http://www.springframework.org/schema/jdbc" 
xmlns:jpa="http://www.springframework.org/schema/data/jpa" 
xmlns:tx="http://www.springframework.org/schema/tx" 
xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd 
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context.xsd 
http://www.springframework.org/schema/jdbc 
http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd 
http://www.springframework.org/schema/data/jpa 
http://www.springframework.org/schema/data/jpa/spring-jpa-1.2.xsd 
http://www.springframework.org/schema/tx 
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd"> 


<jdbc:embedded-database id="dataSource" type="H2"> 
<jdbc:script location="classpath:schema.sql"/> 
<jdbc:script location="classpath:test-data.sql"/> 
</jdbc:embedded-database> 
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> 
<property name="entityManagerFactory" ref="emf"/> 
</bean> 
<tx:annotation-driven transaction-manager="transactionManager" /> 
<bean id="emf" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
<property name="dataSource" ref="dataSource" /> 
<property name="jpaVendorAdapter"> 
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" /> 
</property> 
<property name="packagesToScan" value="com.apress.spring3.ch16.domain"/> 
<property name="jpaProperties"> 
<props> 
<prop key="hibernate.dialect"> 
org.hibernate.dialect.H2Dialect 
</prop> 
<prop key="hibernate.max_fetch_depth">3</prop> 
<prop key="hibernate.jdbc.fetch_size">50</prop> 
<prop key="hibernate.jdbc.batch_size">10</prop> 
<prop key="hibernate.show_sql">true</prop> 
</props> 
</property> 
</bean> 
<context:annotation-config/> 
<jpa:repositories base-package="com.apress.spring3.ch16.repository" 
entity-manager-factory-ref="emf" 
transaction-manager-ref="transactionManager"/> 
</beans> 

的web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 

    <!-- The definition of the Root Spring Container shared by all Servlets and Filters --> 
    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/spring/root-context.xml</param-value> 
    </context-param> 
    <!-- Spring MVC Filter --> 
    <filter><filter-name>CharacterEncodingFilter</filter-name> 
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
    <init-param> 
    <param-name>encoding</param-name> 
    <param-value>UTF-8</param-value> 
    </init-param> 
    <init-param> 
    <param-name>ForceEncoding</param-name> 
    <param-value>true</param-value> 
    </init-param> 
    </filter> 
    <filter> 
    <filter-name> 
    HttpMethodFilter 
    </filter-name> 
    <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> 
    </filter> 
    <filter> 
    <filter-name> 
    Spring OpenEntityManagerInViewFilter 
    </filter-name> 
    <filter-class>org.springframework.orm.jpa.support.OpenEntityMangerInViewFilter</filter-class> 
    </filter> 
    <!-- Filter Mapping --> 



    <!-- Creates the Spring Container shared by all Servlets and Filters --> 
    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 

    <!-- Processes application requests --> 
    <servlet> 
     <servlet-name>appServlet</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>appServlet</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

</web-app> 

根的context.xml

<?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-4.1.xsd 
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-4.1.xsd"> 
<import resource="classpath:datasource-tx-jpa.xml" /> 
<context:component-scan base-package="com.info.ch17.service" /> 
</beans> 

Servlet- context.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans:beans xmlns="http://www.springframework.org/schema/mvc" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:beans="http://www.springframework.org/schema/beans" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd"> 

    <!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure --> 

    <!-- Enables the Spring MVC @Controller programming model --> 
    <annotation-driven /> 

    <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory --> 
    <resources mapping="/resources/**" location="/resources/" /> 

    <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory --> 
    <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <beans:property name="prefix" value="/WEB-INF/views/" /> 
     <beans:property name="suffix" value=".jspx" /> 
    </beans:bean> 

    <context:component-scan base-package="com.info.ch17.we.controller" /> 



</beans:beans> 

联系CLASS

package com.info.ch17.domain; 

import java.io.Serializable; 

import javax.persistence.*; 

import org.hibernate.annotations.Type; 
import org.joda.time.DateTime; 
import org.springframework.format.annotation.DateTimeFormat; 
import org.springframework.format.annotation.DateTimeFormat.ISO; 

import static javax.persistence.GenerationType.IDENTITY; 

@Entity 
@Table(name="contact") 
public class Contact implements Serializable{ 

/** 
* 
*/ 
private static final long serialVersionUID = 1572699331590746106L; 
private Long id; 
private String firstName; 
private String lastName; 
private int version; 
private String description; 
private DateTime birthDate; 
private byte[] photo; 
@Id 
@GeneratedValue(strategy = IDENTITY) 
@Column(name="ID") 
public Long getId() { 
    return id; 
} 
public void setId(Long id) { 
    this.id = id; 
} 
@Column(name="FIRST_NAME") 
public String getFirstName() { 
    return firstName; 
} 
public void setFirstName(String firstName) { 
    this.firstName = firstName; 
} 
@Column(name="LAST_NAME") 
public String getLastName() { 
    return lastName; 
} 
public void setLastName(String lastName) { 
    this.lastName = lastName; 
} 
@Column(name="DESCRIPTION") 
public String getDescription() { 
    return description; 
} 
public void setDescription(String description) { 
    this.description = description; 
} 
@Basic(fetch=FetchType.LAZY) 
@Lob 
@Column(name="PHOTO") 
public byte[] getPhoto() { 
    return photo; 
} 
public void setPhoto(byte[] photo) { 
    this.photo = photo; 
} 
@Column(name = "BIRTH_DATE") 
@Type(type= "org.joda.time.contrib.hibernate.PersistentDateTime") 
@DateTimeFormat(iso = ISO.DATE) 
public DateTime getBirthDate() { 
    return birthDate; 
} 
public void setBirthDate(DateTime datetime) { 
    this.birthDate = datetime; 
} 
@Version 
@Column(name ="VERSION") 
public int getVersion() { 
    return version; 
} 
public void setVersion(int version) { 
    this.version = version; 
} 
@Transient 
public String getBirthDateString(){ 
    String birthDateString=""; 
    birthDateString = org.joda.time.format.DateTimeFormat.forPattern("yyyy-mm-dd").print(this.birthDate); 
    return birthDateString; 
} 
public String toString() { 
    return "Contact - Id: " + id + ", First name: " + firstName 
    + ", Last name: " + lastName + ", Birthday: " + birthDate 
    + ", Description: " + description; 
    } 

}

联系程序存储库CLASS

package com.info.ch17.respository; 

import org.springframework.data.repository.CrudRepository; 

import com.info.ch17.domain.Contact; 

public interface ContactRepository extends CrudRepository<Contact, Long> { 

}

联系服务类

package com.info.ch17.service; 

import java.util.List; 

import com.info.ch17.domain.Contact; 

public interface ContactService { 

public List<Contact> findAll(); 
public Contact findById(Long id); 
public Contact Save(Contact contact); 
} 

联系服务实行类

package com.info.ch17.service.jpa; 
import java.util.List; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.stereotype.Repository; 
import org.springframework.stereotype.Service; 
import org.springframework.transaction.annotation.Transactional; 

import com.info.ch17.domain.Contact; 
import com.info.ch17.respository.ContactRepository; 
import com.info.ch17.service.ContactService; 
import com.google.common.collect.Lists; 

@Service("contactService") 
@Repository 
@Transactional 
public class ContactServiceImpl implements ContactService { 
@Autowired 
private ContactRepository contactRepository; 

@Override 
@Transactional(readOnly= true) 
public List<Contact> findAll() { 
    // TODO Auto-generated method stub 
    return Lists.newArrayList(contactRepository.findAll()); 
} 

@Override 
@Transactional(readOnly = true) 
public Contact findById(Long id) { 
    // TODO Auto-generated method stub 
    return contactRepository.findOne(id); 
} 

@Override 
public Contact Save(Contact contact) { 
    // TODO Auto-generated method stub 
    return contactRepository.save(contact); 
} 

}

控制器类

package com.info.ch17.web.controller; 

import java.util.List; 

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.Model; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 

import com.info.ch17.domain.Contact; 
import com.info.ch17.service.ContactService; 

@RequestMapping("/contacts") 
@Controller 
public class ContactContoller { 
final Logger logger = LoggerFactory.getLogger(ContactContoller.class); 
@Autowired 
private ContactService contactService; 
@RequestMapping(method = RequestMethod.GET) 
public String list(Model uiModel) { 
logger.info("Listing contacts"); 
List<Contact> contacts = contactService.findAll(); 
uiModel.addAttribute("contacts", contacts); 
logger.info("No. of contacts: " + contacts.size()); 
return "contacts/list"; 
} 
} 

MavenDependency

<?xml version="1.0" encoding="UTF-8"?> 
    <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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
<groupId>com.info</groupId> 
<artifactId>ch17</artifactId> 
<name>ch17</name> 
<packaging>war</packaging> 
<version>1.0.0-BUILD-SNAPSHOT</version> 
<properties> 
    <java-version>1.6</java-version> 
    <org.springframework-version>4.1.0.RELEASE</org.springframework-version> 
    <org.aspectj-version>1.8.2</org.aspectj-version> 
    <org.slf4j-version>1.7.7</org.slf4j-version> 
</properties> 
<dependencies> 
    <!-- Spring --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>${org.springframework-version}</version> 
     <exclusions> 
      <!-- Exclude Commons Logging in favor of SLF4j --> 
      <exclusion> 
       <groupId>commons-logging</groupId> 
       <artifactId>commons-logging</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>4.1.0.RELEASE</version> 
    </dependency> 

    <!-- AspectJ --> 
    <dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjrt</artifactId> 
     <version>${org.aspectj-version}</version> 
    </dependency> 

    <!-- Logging --> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>1.7.7</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>jcl-over-slf4j</artifactId> 
     <version>1.7.7</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.7.7</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.15</version> 
     <exclusions> 
      <exclusion> 
       <groupId>javax.mail</groupId> 
       <artifactId>mail</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>javax.jms</groupId> 
       <artifactId>jms</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>com.sun.jdmk</groupId> 
       <artifactId>jmxtools</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>com.sun.jmx</groupId> 
       <artifactId>jmxri</artifactId> 
      </exclusion> 
     </exclusions> 
     <scope>runtime</scope> 
    </dependency> 

    <!-- @Inject --> 
    <dependency> 
     <groupId>javax.inject</groupId> 
     <artifactId>javax.inject</artifactId> 
     <version>1</version> 
    </dependency> 

    <!-- Servlet --> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.5</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet.jsp</groupId> 
     <artifactId>jsp-api</artifactId> 
     <version>2.1</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
    </dependency> 

    <!-- Test --> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.7</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-beans</artifactId> 
     <version>4.1.0.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-jdbc</artifactId> 
     <version>4.1.0.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-orm</artifactId> 
     <version>4.1.0.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-tx</artifactId> 
     <version>4.1.0.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.data</groupId> 
     <artifactId>spring-data-jpa</artifactId> 
     <version>1.7.0.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>4.2.0.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>3.6.8.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.validation</groupId> 
     <artifactId>validation-api</artifactId> 
     <version>1.0.0.GA</version> 
    </dependency> 
    <dependency> 
     <groupId>com.h2database</groupId> 
     <artifactId>h2</artifactId> 
     <version>1.3.160</version> 
    </dependency> 
    <dependency> 
     <groupId>joda-time</groupId> 
     <artifactId>joda-time</artifactId> 
     <version>2.0</version> 
    </dependency> 
    <dependency> 
     <groupId>joda-time</groupId> 
     <artifactId>joda-time-hibernate</artifactId> 
     <version>1.3</version> 
    </dependency> 
    <dependency> 
     <groupId>joda-time</groupId> 
     <artifactId>joda-time-jsptags</artifactId> 
     <version>1.1.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>4.1.0.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>com.google.guava</groupId> 
     <artifactId>guava</artifactId> 
     <version>18.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-aspects</artifactId> 
     <version>4.1.0.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-aop</artifactId> 
     <version>4.1.0.RELEASE</version> 
    </dependency> 
</dependencies> 
<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-eclipse-plugin</artifactId> 
      <version>2.9</version> 
      <configuration> 
       <additionalProjectnatures> 
        <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature> 
       </additionalProjectnatures> 
       <additionalBuildcommands> 
        <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand> 
       </additionalBuildcommands> 
       <downloadSources>true</downloadSources> 
       <downloadJavadocs>true</downloadJavadocs> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.5.1</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
       <compilerArgument>-Xlint:all</compilerArgument> 
       <showWarnings>true</showWarnings> 
       <showDeprecation>true</showDeprecation> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <version>1.2.1</version> 
      <configuration> 
       <mainClass>org.test.int1.Main</mainClass> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

回答

0

对于最后一个错误,它看起来像一个错字。堆栈跟踪的相关部分是

java.lang.ClassNotFoundException: org.springframework.orm.jpa.support.`OpenEntityMangerInViewFilter` 

你写OpenEntityMangerInViewFilter当它应该是OpenEntityManagerInViewFilter(文一个蒙古包,而不是经理)。错字存在于你的web.xml文件中。

0

你JPA仓库基础包似乎引用了错误的包。将JPA存储库基本包从... ch16 ...更改为正确的基本包,它引用了... ch17 ...基本包

+0

使用可能的建议解决方案编辑 – 2014-09-30 11:23:13

+0

我也尝试过,但它不工作PLZ帮助! – 2014-09-30 11:30:59

+0

你是否改变它到这个? com.info.ch17.respository – 2014-09-30 11:34:03

相关问题