xml配置了sessionFactory,也在继承了HibernateDaoSupport类的bean中注入了此对象·可还显示此对象为空 30
--------------------------sessionFactory对象的xml配置<beanid="sessionFactory"class="org.sp...
--------------------------sessionFactory对象的xml配置
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="mappingResources">
<list>
<value>com/shopping/domain/UserAdmin.hbm.xml</value>
<value>com/shopping/domain/UserInfo.hbm.xml</value>
<value>com/shopping/domain/UserType.hbm.xml</value>
<value>com/shopping/domain/Order.hbm.xml</value>
<value>com/shopping/domain/OrderType.hbm.xml</value>
<value>com/shopping/domain/OrderInfo.hbm.xml</value>
<value>com/shopping/domain/WareInfo.hbm.xml</value>
<value>com/shopping/domain/WareType.hbm.xml</value>
<value>com/shopping/domain/Images.hbm.xml</value>
<value>com/shopping/domain/WareImages.hbm.xml</value>
<value>com/shopping/domain/WareMessage.hbm.xml</value>
<value>com/shopping/domain/Reply.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
hibernate.hbm2ddl.auto=update
show_sql=true
current_session_context_class=thread
</value>
</property>
</bean>
--------------------------------继承HibernateDaoSupport类的类bean
<!-- 配置dao层对象 -->
<bean id="select" class="com.shopping.dao.impl.Select">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
--------------------------继承HibernateDaoSupport类的代码
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class Select extends HibernateDaoSupport{
public void a(){
System.out.println(super.getSessionFactory()==null);
}
测试方法
public static void main(String [] args){
Select s = new Select();
s.a();
}
如果解决我还加分谢谢
而且启动tomcat无异常·并且数据库的表也生成了 展开
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="mappingResources">
<list>
<value>com/shopping/domain/UserAdmin.hbm.xml</value>
<value>com/shopping/domain/UserInfo.hbm.xml</value>
<value>com/shopping/domain/UserType.hbm.xml</value>
<value>com/shopping/domain/Order.hbm.xml</value>
<value>com/shopping/domain/OrderType.hbm.xml</value>
<value>com/shopping/domain/OrderInfo.hbm.xml</value>
<value>com/shopping/domain/WareInfo.hbm.xml</value>
<value>com/shopping/domain/WareType.hbm.xml</value>
<value>com/shopping/domain/Images.hbm.xml</value>
<value>com/shopping/domain/WareImages.hbm.xml</value>
<value>com/shopping/domain/WareMessage.hbm.xml</value>
<value>com/shopping/domain/Reply.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
hibernate.hbm2ddl.auto=update
show_sql=true
current_session_context_class=thread
</value>
</property>
</bean>
--------------------------------继承HibernateDaoSupport类的类bean
<!-- 配置dao层对象 -->
<bean id="select" class="com.shopping.dao.impl.Select">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
--------------------------继承HibernateDaoSupport类的代码
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class Select extends HibernateDaoSupport{
public void a(){
System.out.println(super.getSessionFactory()==null);
}
测试方法
public static void main(String [] args){
Select s = new Select();
s.a();
}
如果解决我还加分谢谢
而且启动tomcat无异常·并且数据库的表也生成了 展开
4个回答
展开全部
你虽然书写了Spring配置文件,但是你的测试代码当中根本没有使用到Spring框架。Spring不认识new Select(),因此Spring不会做任何事情,不会为Select的实例注入sessionFactory。
使用楼上mlovewt的方式,你才能够切入Spring,才能让Spring帮助你完成依赖注入。
使用楼上mlovewt的方式,你才能够切入Spring,才能让Spring帮助你完成依赖注入。
追问
这是为了测试的·我是web项目·原来不New一样空指针··最开始是没这个mian方法的大哥···!!!
追答
先研究清楚:你的Web项目是如何使用Spring的。或者项目打包发过来看看,当然,如果可以的话~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.你怎么没写读取XML文件的代码啊,
你直接new的select和你的XML文件配置的就没有关系了
正确的做法是:先读取XML文件
再getBean方法获取XML配置的select实例
2.spring推荐面向接口编程,希望养成好的习惯
你直接new的select和你的XML文件配置的就没有关系了
正确的做法是:先读取XML文件
再getBean方法获取XML配置的select实例
2.spring推荐面向接口编程,希望养成好的习惯
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你都用spring了,就不要再new对象了,要加载spring配置文件,从里面getBean();XmlBeanFactory context=new XmlBeanFactory(new ClassPathResource("beans.xml"));
HelloWorld hw = (HelloWorld)context.getBean("helloworld");
HelloWorld hw = (HelloWorld)context.getBean("helloworld");
更多追问追答
追问
不明白啊- -大哥·能详细点么
追答
spring注入,是spring管理对象的初始化,对象在容器启动的时候会进行实例化。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用自动装配多好。。
追问
不会- -求解
追答
在 spring的xml文件 最上面的节点里面添加一个 context 以及下面的说明 然后在后面写上你要按照哪种方式让spring帮你注入 注入,有byName、和 byType两种。一般是用的byName
在 context-scan里面写上你需要让spring帮你管理的类的包名,并且在 实体类里面写上注释
@compent 我找找有没有图片给你参考的。你上面用的注入方式,如果要依赖spring的注入的话,要先读取一次XML文件 而不是直接 new applicationContext app = new pathclassxml.....("/application.xml"); app.getBean("select").a();这样调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询