今天刚接触spring,照着例子做。
applicationContext.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver"></property>
<property name="url" value="jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=ormerp_supply"></property>
<property name="username" value="sa"></property>
<property name="password" value="qwerty12345"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>
com/User.hbm.xml
</value>
</list>
</property>
</bean>
<bean id="userDao" class="com.UserDaoImpl">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
</beans>数据库链接是没有问题的,其他项目里正常。
UserDaoImpl.javapackage com;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;public class UserDaoImpl extends HibernateDaoSupport implements UserDao { @Override
public void login() {
// TODO Auto-generated method stub
System.out.println(this.getSessionFactory());
}}
login里面什么都不做就输出sessionFactory,但是输出是null。不知道哪里出了问题?
applicationContext.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver"></property>
<property name="url" value="jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=ormerp_supply"></property>
<property name="username" value="sa"></property>
<property name="password" value="qwerty12345"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>
com/User.hbm.xml
</value>
</list>
</property>
</bean>
<bean id="userDao" class="com.UserDaoImpl">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
</beans>数据库链接是没有问题的,其他项目里正常。
UserDaoImpl.javapackage com;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;public class UserDaoImpl extends HibernateDaoSupport implements UserDao { @Override
public void login() {
// TODO Auto-generated method stub
System.out.println(this.getSessionFactory());
}}
login里面什么都不做就输出sessionFactory,但是输出是null。不知道哪里出了问题?
解决方案 »
- mvn install 编译好的class为什么都是小写的?
- 怎么深入学习struts2框架
- 求助jsp包含链接地址内容问题
- 把字符串解析成xml的时候报错java.net.MalformedURLException: no protocol
- SQL问题,来帮帮忙啊
- struts 2中如何设置才能找到该死FilterDispatcher
- struts findforward问题
- tomcat 5.5以版本如何才看到dos的运行窗口,谢谢!
- 我安装了j2eesdk1.4评估版,可是不能执行j2ee
- 不同tomcat不同web项目之间session共享
- Struts1 配置文件注入参数
- Spring的问题
09-04-15 00:07:30 INFO AjpAprProtocol:189 - Initializing Coyote AJP/1.3 on ajp-8009
09-04-15 00:07:30 INFO Catalina:511 - Initialization processed in 453 ms
09-04-15 00:07:30 INFO StandardService:442 - Starting service Catalina
09-04-15 00:07:30 INFO StandardEngine:431 - Starting Servlet Engine: Apache Tomcat/5.5.20
09-04-15 00:07:30 INFO StandardHost:716 - XML validation disabled
09-04-15 00:07:31 DEBUG [/manager]:3747 - Sending application start events
09-04-15 00:07:31 DEBUG [/manager]:3622 - Starting filters
09-04-15 00:07:31 DEBUG [/GoogleSuggest]:3747 - Sending application start events
09-04-15 00:07:31 DEBUG [/GoogleSuggest]:3622 - Starting filters
09-04-15 00:07:31 DEBUG [/MyJobNet]:3747 - Sending application start events
09-04-15 00:07:31 DEBUG [/MyJobNet]:3622 - Starting filters
09-04-15 00:07:31 DEBUG [/SpringTest]:3708 - Configuring event listener class 'org.springframework.web.context.ContextLoaderListener'
09-04-15 00:07:31 DEBUG [/SpringTest]:3747 - Sending application start events
09-04-15 00:07:31 INFO [/SpringTest]:646 - Initializing Spring root WebApplicationContext
09-04-15 00:07:31 INFO ContextLoader:178 - Root WebApplicationContext: initialization started
09-04-15 00:07:31 INFO XmlWebApplicationContext:378 - Refreshing org.springframework.web.context.support.XmlWebApplicationContext@16fcc4: display name [Root WebApplicationContext]; startup date [Wed Apr 15 00:07:31 CST 2009]; root of context hierarchy
09-04-15 00:07:32 INFO XmlBeanDefinitionReader:303 - Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml]
09-04-15 00:07:33 INFO XmlWebApplicationContext:393 - Bean factory for application context [org.springframework.web.context.support.XmlWebApplicationContext@16fcc4]: org.springframework.beans.factory.support.DefaultListableBeanFactory@14dba7f
09-04-15 00:07:33 INFO DefaultListableBeanFactory:276 - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@14dba7f: defining beans [dataSource,sessionFactory,userDao]; root of factory hierarchy
09-04-15 00:07:33 INFO Environment:479 - Hibernate 3.1.3
09-04-15 00:07:33 INFO Environment:509 - hibernate.properties not found
09-04-15 00:07:33 INFO Environment:525 - using CGLIB reflection optimizer
09-04-15 00:07:33 INFO Environment:555 - using JDK 1.4 java.sql.Timestamp handling
09-04-15 00:07:34 INFO HbmBinder:309 - Mapping class: com.User -> hr_Employee
09-04-15 00:07:34 INFO LocalSessionFactoryBean:743 - Building new Hibernate SessionFactory
09-04-15 00:07:34 INFO ConnectionProviderFactory:72 - Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider
09-04-15 00:07:34 INFO SettingsFactory:77 - RDBMS: Microsoft SQL Server, version: 08.00.2055
09-04-15 00:07:34 INFO SettingsFactory:78 - JDBC driver: jTDS Type 4 JDBC Driver for MS SQL Server and Sybase, version: 1.2.2
09-04-15 00:07:34 INFO Dialect:103 - Using dialect: org.hibernate.dialect.SQLServerDialect
09-04-15 00:07:34 INFO TransactionFactoryFactory:31 - Using default transaction strategy (direct JDBC transactions)
09-04-15 00:07:34 INFO TransactionManagerLookupFactory:33 - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
09-04-15 00:07:34 INFO SettingsFactory:125 - Automatic flush during beforeCompletion(): disabled
09-04-15 00:07:34 INFO SettingsFactory:129 - Automatic session close at end of transaction: disabled
09-04-15 00:07:34 INFO SettingsFactory:144 - Scrollable result sets: enabled
09-04-15 00:07:34 INFO SettingsFactory:152 - JDBC3 getGeneratedKeys(): enabled
09-04-15 00:07:34 INFO SettingsFactory:160 - Connection release mode: on_close
09-04-15 00:07:34 INFO SettingsFactory:187 - Default batch fetch size: 1
09-04-15 00:07:34 INFO SettingsFactory:191 - Generate SQL with comments: disabled
09-04-15 00:07:34 INFO SettingsFactory:195 - Order SQL updates by primary key: disabled
09-04-15 00:07:34 INFO SettingsFactory:338 - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
09-04-15 00:07:34 INFO ASTQueryTranslatorFactory:24 - Using ASTQueryTranslatorFactory
09-04-15 00:07:34 INFO SettingsFactory:203 - Query language substitutions: {}
09-04-15 00:07:34 INFO SettingsFactory:209 - Second-level cache: enabled
09-04-15 00:07:34 INFO SettingsFactory:213 - Query cache: disabled
09-04-15 00:07:34 INFO SettingsFactory:325 - Cache provider: org.hibernate.cache.EhCacheProvider
09-04-15 00:07:34 INFO SettingsFactory:228 - Optimize cache for minimal puts: disabled
09-04-15 00:07:34 INFO SettingsFactory:237 - Structured second-level cache entries: disabled
09-04-15 00:07:34 INFO SettingsFactory:264 - Statistics: disabled
09-04-15 00:07:34 INFO SettingsFactory:268 - Deleted entity synthetic identifier rollback: disabled
09-04-15 00:07:34 INFO SettingsFactory:283 - Default entity-mode: pojo
09-04-15 00:07:34 INFO SessionFactoryImpl:154 - building session factory
09-04-15 00:07:34 WARN Configurator:126 - No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%205.5/webapps/SpringTest/WEB-INF/lib/ehcache-1.1.jar!/ehcache-failsafe.xml
09-04-15 00:07:35 INFO SessionFactoryObjectFactory:82 - Not binding factory to JNDI, no JNDI name configured
09-04-15 00:07:35 INFO ContextLoader:198 - Root WebApplicationContext: initialization completed in 4062 ms
09-04-15 00:07:35 DEBUG [/SpringTest]:3622 - Starting filters
09-04-15 00:07:35 INFO Http11AprProtocol:151 - Starting Coyote HTTP/1.1 on http-8080
09-04-15 00:07:35 INFO AjpAprProtocol:217 - Starting Coyote AJP/1.3 on ajp-8009
09-04-15 00:07:35 INFO StoreLoader:229 - Find registry server-registry.xml at classpath resource
09-04-15 00:07:36 INFO Catalina:559 - Server startup in 5391 ms
这是tomcat启动的日志,也没有异常
我换成
System.out.println(this.getHibernateTemplate());
控制台输出还是null
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
应该是这部分错了 。 因为没注入到DAO里面去
楼主把<ref bean="" /> 改成<ref local=""/>试试看
<ref local="" />是寻找本xml文件中到bean