2012-03-31 18 views
0

のpom.xmlで見つけることができません注釈付きクラスは春

<dependencies> 
     <dependency> 
      <groupId>commons-dbcp</groupId> 
      <artifactId>commons-dbcp</artifactId> 
      <version>1.4</version> 
     </dependency> 

     <!-- JUnit testing framework --> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 

     <!-- Spring framework --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring</artifactId> 
      <version>2.5.6</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-hibernate3</artifactId> 
      <version>2.0.8</version> 
     </dependency> 

     <!-- Spring AOP dependency --> 
     <dependency> 
      <groupId>cglib</groupId> 
      <artifactId>cglib</artifactId> 
      <version>2.2</version> 
     </dependency> 

     <!-- MySQL database driver --> 
     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>5.1.9</version> 
     </dependency> 

     <!-- Hibernate framework --> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>4.1.0.Final</version> 
     </dependency> 


     <!-- Hibernate library dependecy start --> 
     <dependency> 
      <groupId>dom4j</groupId> 
      <artifactId>dom4j</artifactId> 
      <version>1.6.1</version> 
     </dependency> 

     <dependency> 
      <groupId>commons-logging</groupId> 
      <artifactId>commons-logging</artifactId> 
      <version>1.1.1</version> 
     </dependency> 

     <dependency> 
      <groupId>commons-collections</groupId> 
      <artifactId>commons-collections</artifactId> 
      <version>3.2.1</version> 
     </dependency> 

     <dependency> 
      <groupId>antlr</groupId> 
      <artifactId>antlr</artifactId> 
      <version>2.7.7</version> 
     </dependency> 
     <!-- Hibernate library dependecy end --> 
    </dependencies> 

spring.xml

<!-- Auto scan the annotated components --> 
<context:component-scan base-package="com.chicago.home" /> 

<bean id="test" class="org.chicago.home.Test"> 
    <property name="hibernateTemplate" ref="hibernateTemplate" /> 
</bean> 

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" 
    destroy-method="close"> 
    <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
    <property name="url" value="jdbc:mysql://localhost:3306/mydb" /> 
    <property name="username" value="user" /> 
    <property name="password" value="passwd" /> 
</bean> 

<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource" /> 
    <property name="annotatedClasses"> 
     <list> 
      <value>com.chicago.home.Event</value> 
     </list> 
    </property> 
    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
      <prop key="show_sql">true</prop> 
     </props> 
    </property> 
    <property name="configurationClass"> 
     <value>org.hibernate.cfg.AnnotationConfiguration</value> 
    </property> 
</bean> 

<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> 
    <property name="sessionFactory" ref="sessionFactory" /> 
</bean> 

クラスのイベント:

package org.chicago.home; 
import java.util.*; 
import javax.persistence.*; 
import org.hibernate.annotations.GenericGenerator; 

@Entity 
@Table(name = "EVENTS") 
public class Event { 
    private Long id; 

    private String title; 
    private Date date; 

    public Event() { 
     // this form used by Hibernate 
    } 

    public Event(String title, Date date) { 
     // for application use, to create new events 
     this.title = title; 
     this.date = date; 
    } 

    @Id 
    @GeneratedValue(generator="increment_generator") 
    @GenericGenerator(name="increment_generator", strategy = "increment") 
    public Long getId() { 
     return id; 
    } 

    private void setId(Long id) { 
     this.id = id; 
    } 

    @Temporal(TemporalType.TIMESTAMP) 
    @Column(name = "EVENT_DATE") 
    public Date getDate() { 
     return date; 
    } 

    public void setDate(Date date) { 
     this.date = date; 
    } 

    public String getTitle() { 
     return title; 
    } 

    public void setTitle(String title) { 
     this.title = title; 
    } 
} 

例外:

Caused by: java.lang.IllegalArgumentException: Cannot find class [com.chicago.home.Event] 
    at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:233) 
    at org.springframework.beans.propertyeditors.ClassEditor.setAsText(ClassEditor.java:63) 
    at org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:382) 
    at org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:358) 
    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:173) 
    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:124) 
    at org.springframework.beans.TypeConverterDelegate.convertToTypedArray(TypeConverterDelegate.java:393) 
    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:186) 
    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:138) 
    at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:386) 
    ... 44 more 
Caused by: java.lang.ClassNotFoundException: com.chicago.home.Event 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 

答えて

1

sessionFactory豆で、あなたは財産annotatedClassescom.chicago.home.Event .Howeverの値を持って宣言しているため、コンポーネント・スキャンcom.chicago.home

0

、このクラスが存在しないので、春の苦情がそれを見つけたことができない間、あなたのクラスはパッケージorg.chicago.homeです。

実際には、イベントはorg.chicago.homeパッケージにありますが、com.chicago.homeパッケージには含まれていません。