问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

struts2ioc获取session怎么设置bean

发布网友 发布时间:2022-05-23 13:55

我来回答

3个回答

热心网友 时间:2023-10-23 20:44

  楼主问题的描述有几个问题,第一:struts2没有ioc容器,第二:session是hibernate框架的sessionFactory获取的,sturts2没有session.楼主应该是想在spring整合hibernate怎样获取hibernate的session。


  spring整合hibernate获取session的基本步骤:

在spring的配置文件中配置sessionFactory bean。

把sessionFactory bean注入到层中,

在层通过sessionFactory获取session。


 写一个helloworld的案例:

  1.spring的xml配置文件配置sessionFactorybean

<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<!-- 数据源 -->
<property name="dataSource" ref="dataSource"></property>
<!-- hibernate映射文件 -->
<property name="mappingLocations" value="classpath:com/suhayl/ssh/beans/Person.hbm.xml"></property>
<!-- hibernate cfg文件 -->
<property name="configLocations" value="classpath:hibernate.cfg.xml"></property>
</bean>


  2.把sessionFactory注入到,同样在spring配置文件配置注入,我的类就是PersonDaoImpl。

<bean class="com.suhayl.ssh..PersonDaoImpl" id="personDao">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>


  3.在中获取session:

  先写一个BaseDao。

package com.suhayl.ssh.;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

public class BaseDao {

private SessionFactory sessionFactory = null;

public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}

public Session getCurrentSession() {
return sessionFactory.getCurrentSession();
}

}


  PersonDaoImpl继承了BaseDao

package com.suhayl.ssh.;

import java.util.List;

import com.suhayl.ssh.beans.Person;

public class PersonDaoImpl extends BaseDao implements PersonDao {

@Override
public void addPerson(Person person) {
getCurrentSession().save(person);
}

@Override
public void deletePerson(int id) {
String hql = "delete from Person person where person.id = :id";
getCurrentSession().createQuery(hql).setParameter("id", id).executeUpdate();
}

@Override
public Person getPerson(int id) {
return (Person) getCurrentSession().get(Person.class, id);
}

@SuppressWarnings("unchecked")
@Override
public List<Person> getListPerson() {
String hql = "from Person";
return getCurrentSession().createQuery(hql).list();
}

@Override
public void editPerson(Person person) {
String hql = "update Person person set person.name = :name ,  person.age = :age where person.id = :id";
getCurrentSession().createQuery(hql).setString("name", person.getName())
.setInteger("age", person.getAge()).setInteger("id", person.getId()).executeUpdate();
}

@Override
public Person getPersonByName(String name) {
String hql ="from Person person where person.name = :name";
Person person = (Person) getCurrentSession().createQuery(hql).setParameter("name", name).uniqueResult();
return person;
}

}

热心网友 时间:2023-10-23 20:44

session是存在于servlet容器里面的,你集成了httpservlet之后,不管是在jsp页面还是java代码中都可以使用,只需要在方法参数中声明即可.没办法再将其加入spring容器里面,没必要解耦合,因为他们本来就是依赖关系

热心网友 时间:2023-10-23 20:44

spring.xml里的配置:
<bean id="e" class="com.kish.entity.springserviceImpl "></bean>

Spring 获取Bean的代码:
ApplicationContext context=new ClassPathXmlApplicationContext("spring.xml");
springserviceImpl ss=(springserviceImpl)context.getBean("e");
ss.add();
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 eBay的item+number是唯一的吗 &quot;112th IOC Session July 13. 2001 Moscow&quot;什么意思? 多用户商城系统(B2B2C、C2C)用JSP还是.NET开发的性价比高? Himall多用户商城系统哪有下载 在黑洞旁我知道时间会变慢,我想知道为什么。 我之前的提问得到的答案都是“时空扭曲时间就变慢” 我不要 哪里有himall源码免费下载? 对比Himall多用户商城平台和XpMall哪个好? c#智能开发通过WebService接口远程查询oracle数据库的完整案例,谢谢! 一小时内分针和秒针重叠多少次? Himall多用户商城是开源的吗? himall是什么语言开发的 老态龙钟,“老态”易解,“龙钟”茫然,为啥是钟呢? Himall多用户商城系统效果怎么样? himall多用户商城怎么样? 什么是时空扭曲 himall多用户商城安全性高不高? himall这个多用户商城系统适这种像京东天猫商城系统的运营能力怎么样,具备哪些功能性能力? 谁有关于oracle优化的案例 空间弯曲是如何让重力把我们拉下来的? Oracle索引在实际中的运用,谁能回答我,最好的举两个案例,是你的工作中的经验分享最好了,本人对 谁知道,歌曲《Candy》寻歌手Bila资料(只知道的印尼歌手),怎样才能上传到空间啊?????跪求!!!! DF14单8屏用DF14单6屏怎么改屏线? 英文介绍青奥会 并指出优点及缺点 字数最好多一点 “小贝”这是我的名字请高手帮忙,韩文要怎么念 解析中的法线DF是什么线啊? SSH框架中bean、session、action的含义? df是什么断层 IOC如何注入泛型IRepository&lt;T&gt;类型对象?有伪代码说明问题 怎样拍摄文档 spring methodinterceptor怎么获取session 韩小贝的伤感说唱 Spring中ioc的面向切面编程的意思 英语写作美味食物 穿衣如何搭配颜色 在Spring中,Bean有几种作用域? 贝克汉姆在韩国参加活动人气女团竟然迟到,主办方应负什么责任? userauditoraware是怎么执行的 在食品节上有许多美味的食物英文翻译 韩语topik考试报名创建注册信息中 姓名(全拼&#47;英文)该怎么填?比如说:黄小贝 穿衣颜色搭配