Mar 27, 2016 11:32:03 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [beans.xml]
Mar 27, 2016 11:32:03 AM org.springframework.jdbc.datasource.DriverManagerDataSource setDriverClassName
INFO: Loaded JDBC driver: oracle.jdbc.driver.OracleDriver
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'AddressManager' defined in class path resource [beans.xml]: Cannot resolve reference to bean 'localSessionFactoryBean' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'localSessionFactoryBean' defined in class path resource [beans.xml]: Invocation of init method failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.hibernate.cfg.Configuration]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/slf4j/impl/MessageFormatter
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at model.util.SpringUtil.getBean(SpringUtil.java:13)
at model.bl.Main.main(Main.java:10)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'localSessionFactoryBean' defined in class path resource [beans.xml]: Invocation of init method failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.hibernate.cfg.Configuration]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/slf4j/impl/MessageFormatter
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
... 16 more
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.hibernate.cfg.Configuration]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/slf4j/impl/MessageFormatter
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:141)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:104)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newConfiguration(LocalSessionFactoryBean.java:818)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:549)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
... 23 more
Caused by: java.lang.NoClassDefFoundError: org/slf4j/impl/MessageFormatter
at ch.qos.logback.classic.spi.LoggingEvent.<init>(LoggingEvent.java:114)
at ch.qos.logback.classic.Logger.filterAndLog(Logger.java:421)
at ch.qos.logback.classic.Logger.filterAndLog(Logger.java:430)
at ch.qos.logback.classic.Logger.debug(Logger.java:390)
at org.hibernate.type.BasicTypeRegistry.register(BasicTypeRegistry.java:144)
at org.hibernate.type.BasicTypeRegistry.<init>(BasicTypeRegistry.java:50)
at org.hibernate.type.TypeResolver.<init>(TypeResolver.java:46)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:249)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:300)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:126)
... 29 more
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.MessageFormatter
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 43 more
Process finished with exit code 1
这是我的代码,但没有工作!!!!在Windows基础应用程序中,我可以运行此代码,但此代码不适用于Web应用程序
package model.to;
public class AddressTO {
private Long id;
private String name;
private String address;
public AddressTO() {
}
public AddressTO(Long id, String name, String address) {
this.id = id;
this.name = name;
this.address = address;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="model.to">
<class name="model.to.AddressTO" table="tbladdress">
<id name="id" type="long" column="ID">
<generator class="increment"/>
</id>
<property name="name" type="java.lang.String" >
<column name="name" sql-type="NVARCHAR2(35)" not-null="true" />
</property>
<property name="address" type="java.lang.String">
<column name="address" sql-type="nvarchar(500)" not-null="true"/>
</property>
</class>
</hibernate-mapping>
package model.util;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
public class SpringUtil {
private static BeanFactory beanFactory;
static {
beanFactory=new XmlBeanFactory(new ClassPathResource("beans.xml"));
}
public static Object getBean(String beanName){
return beanFactory.getBean(beanName);
}
}
public class Main {
public static void main(String[] args) {
AddressManager addressManager = (AddressManager) SpringUtil.getBean("AddressManager");
addressManager.register();
}
}
package model.bl;
import model.to.AddressTO;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class AddressManager extends HibernateDaoSupport {
public void register(){
AddressTO test=new AddressTO(0l,"manzel","tehran-behbodi");
getHibernateTemplate().saveOrUpdate(test);
}
}
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="driverManagerDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="username" value="saeid"/>
<property name="password" value="myjava123"/>
</bean>
<bean id="localSessionFactoryBean" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!--<bean id="localSessionFactoryBean" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">-->
<property name="dataSource" ref="driverManagerDataSource"/>
<property name="mappingResources">
<list>
<value>model/to/Address.hbm.xml</value>
<value>model/to/Telphone.hbm.xml</value>
<value>model/to/PersonTransaction.hbm.xml</value>
<value>model/to/Account.hbm.xml</value>
<value>model/to/Message.hbm.xml</value>
<value>model/to/OperationType.hbm.xml</value>
<value>model/to/Person.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props >
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<!--<prop key="hibernate.show_sql">true</prop>-->
<prop key="hibernate.hbm2ddl.auto">create-drop</prop>
</props>
</property>
</bean>
<bean id="AddressManager" class="model.bl.AddressManager">
<property name="sessionFactory" ref="localSessionFactoryBean"/>
</bean>
<!-- <bean id="carManager" class="model.bl.CarManager" singleton="false">
<property name="sessionFactory" ref="localSessionFactoryBean"/>
</bean>
<bean id="p" class="model.bl.PersonManager" singleton="false">
<property name="sessionFactory" ref="localSessionFactoryBean"/>
</bean>-->
</beans>