`
scorpiomiracle
  • 浏览: 263381 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

如何向Servlet注入属性(S2SH框架)

阅读更多
转自http://blog.csdn.net/csuliky/archive/2009/07/03/4320007.aspx
1.Spring数据库的配置

<?xml version="1.0" encoding="UTF-8"?>   
<beans xmlns="http://www.springframework.org/schema/beans"   
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xmlns:tx="http://www.springframework.org/schema/tx"   
    xmlns:aop="http://www.springframework.org/schema/aop"   
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd ">   
    <!-- Hibernate的会话 -->   
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"   
        scope="singleton">   
        <property name="dataSource" ref="dataSource"/>   
        <property name="hibernateProperties">   
            <props>   
                <prop key="hibernate.dialect">   
                    org.hibernate.dialect.SQLServerDialect   
                </prop>   
                <prop key="hibernate.show_sql">true</prop>   
                <!-- 设置查询结果集可以回滚,在分页时必须这样 -->   
                <prop key="jdbc.use_scrollable_resultset">true</prop>   
                <prop key="hbm2ddl">true</prop>   
            </props>   
        </property>   
        <property name="mappingResources">   
            <list>   
                <value>abu/csdn/bean/User.hbm.xml</value>   
            </list>   
        </property>   
    </bean>   
       
    <!-- Spring的Hibernate工具类HibernateTemplate -->   
    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate" scope="singleton">   
        <property name="sessionFactory" ref="sessionFactory"/>   
    </bean>   
    <!-- 数据源 -->   
    <bean id="dataSource"   
        class="org.apache.commons.dbcp.BasicDataSource" scope="singleton">   
        <property name="driverClassName"   
            value="com.microsoft.sqlserver.jdbc.SQLServerDriver">   
        </property>   
        <property name="url"   
            value="jdbc:sqlserver://localhost:1433;databaseName=csu">   
        </property>   
        <property name="username" value="liky"/>   
        <property name="password" value="redhat"/>   
    </bean>   
    <!-- Spring的声明式事务 -->   
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">   
        <property name="sessionFactory" ref="sessionFactory"/>   
    </bean>   
    <!-- 配置事务的传播特性,通常应该将事务设置在业务层,而非dao上 -->   
    <tx:advice id="txAdvice" transaction-manager="transactionManager">   
        <tx:attributes>   
            <!-- name为事务对哪些方法生效,可以使用通配符; propagation为事务的传播特性,一共有6种-->   
            <tx:method name="save*" propagation="REQUIRED" />   
            <tx:method name="delete*" propagation="REQUIRED" />   
            <tx:method name="update*" propagation="REQUIRED" />   
            <tx:method name="find*" read-only="true" />   
        </tx:attributes>   
    </tx:advice>   
    <!-- 切入点,就是哪些包的哪些类的哪些方法参与事务 -->   
    <aop:config>   
        <!-- id是一个标识,expression_r_r中的execution表达式比较复杂:
      1.第一个星号表示匹配所有的返回值;
      2.abu.csdn.service表示包;
      3.第二个星号表示匹配这个包的所有类;
      4.第三个星号表示匹配类的所有方法;
      5.括号内表示方法的参数;
      6.两个点表示匹配所有的参数    
        -->   
        <aop:pointcut id="allServiceMethods"   
            expression_r_r="execution(* abu.csdn.service.*.*(..))" />   
        <!-- 指定事务和切入点 -->   
        <aop:advisor pointcut-ref="allServiceMethods"   
            advice-ref="txAdvice" />   
    </aop:config>   
       
</beans> 


2.Servlet

package abu.csdn.servlet;   
import java.io.IOException;   
import javax.servlet.ServletContext;   
import javax.servlet.ServletException;   
import javax.servlet.http.HttpServlet;   
import javax.servlet.http.HttpServletRequest;   
import javax.servlet.http.HttpServletResponse;   
import org.springframework.orm.hibernate3.HibernateTemplate;   
import org.springframework.web.context.WebApplicationContext;   
import org.springframework.web.context.support.WebApplicationContextUtils;   
  
public class CopyOfShowImageServlet extends HttpServlet {   
    HibernateTemplate hibernateTemplate;   
  
    @Override   
    public void init() throws ServletException {           
        super.init();   
                   
        ServletContext servletContext = this.getServletContext();   
                   
        WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);   
                   
        hibernateTemplate = (HibernateTemplate)ctx.getBean("hibernateTemplate");   
    }   
    @Override   
    protected void doPost(HttpServletRequest request,   
            HttpServletResponse response) throws ServletException, IOException {   
        doGet(request, response);   
    }   
            
    @Override      
    protected void doGet(HttpServletRequest request,   
            HttpServletResponse response) throws ServletException, IOException {   
           
    }   
}


3.总结
  你应该看到了,我在Spring中使用了声明式事务,如果直接使用Spring的工厂类在这里是不行的,因为所有的对象都已经有Spring的IoC管理了,所以只能借助WebApplicationContextUtils这个工具类来获得Bean.
分享到:
评论

相关推荐

    S2SH框架整合详细步骤。

    在IT行业中,SSH(Struts2、Hibernate、Spring)是一个常见的企业级应用开发框架组合,也被称作S2SH框架。这个框架集合了MVC(Model-View-Controller)架构模式、持久化管理以及依赖注入等功能,使得开发更加高效且...

    完整的S2SH框架整合, 带jar包

    S2SH框架是Java Web开发中的一个经典组合,由Struts、Spring和Hibernate三个开源框架协同工作形成。这个“完整的S2SH框架整合,带jar包”资源包含了这些框架的核心库,以及可能的一个实例项目,旨在帮助开发者快速...

    基础S2SH框架开发流程

    **S2SH框架详解** S2SH框架是Java Web开发中的一个经典组合,由Struts、Spring和Hibernate三个开源框架组成。这个框架组合为开发者提供了一个全面的解决方案,用于构建可扩展、模块化且易于维护的Web应用程序。下面...

    S2SH框架开发的简单demo实例.zip

    6. **学习资源**:理解并熟练掌握S2SH框架需要对Java Web开发有一定的基础,包括Servlet、JSP和MVC模式。此外,深入阅读Struts2、Spring和Hibernate的官方文档,以及相关的教程和书籍,将有助于更全面地了解和应用...

    s2sh框架代码

    S2SH框架,全称Struts2+Spring+Hibernate整合框架,是Java Web开发中常用的一种MVC(Model-View-Controller)架构模式。这个框架集合了Struts2的前端展示控制、Spring的依赖注入与业务逻辑管理以及Hibernate的对象...

    S2SH框架的搭建

    **S2SH框架的搭建详解** S2SH框架,全称Struts2+Spring+Hibernate,是Java Web开发中常用的一种MVC(Model-View-Controller)架构模式的集成框架。这个框架组合提供了强大的功能,使得开发者能够更高效地进行Web...

    图书管理系统(基于S2SH框架开发的)

    【标题】"图书管理系统(基于S2SH框架开发的)" 涉及的主要知识点是Struts2、Hibernate和Spring这三大Java企业级开发框架的整合应用,也被称为S2SH框架。这个系统是一个完整的图书管理解决方案,包含了图书借阅、...

    s2sh和mysql搭建的框架

    在这个“S2SH和MySQL搭建的框架”中,开发者使用这些技术与MySQL数据库协同工作,创建了一个基础的登录系统。 Struts2是ActionServlet的增强版,提供了一种更强大的处理HTTP请求的方式,并且拥有丰富的插件体系和...

    S2SH框架集成项目

    在IT行业中,S2SH框架集成项目是一种基于Java的Web应用开发方案,它结合了Struts、Spring和Hibernate这三个强大的开源框架。这个项目利用这些框架的优势,构建了一个包含ORM(对象关系映射)功能和库存管理系统的...

    s2sh整合所需jar包大全

    **S2sh整合所需jar包大全** 在Java Web开发领域,Struts 2、Spring 和 Hibernate(简称S2SH)...通过合理配置和使用这些jar包,开发者可以在Eclipse中轻松搭建S2SH框架,快速开发出功能丰富、结构清晰的Java Web应用。

    S2SH 整合 导入即可完整包

    通过下载的"mytest"压缩包,开发者可以直接导入IDE进行项目运行,省去了搭建环境和基础配置的步骤,特别适合新手快速上手学习S2SH框架的使用。 总结,S2SH整合提供了一种高效、成熟的Java Web开发解决方案,它简化...

    S2SH所需jar包

    这些jar包包含的是S2SH框架运行所需的类库,如Spring的核心库、Hibernate的JPA实现、Struts2的框架核心以及相关的依赖库,如数据库驱动、日志工具、Servlet API等。开发者在搭建S2SH环境时,必须确保这些jar包完整且...

    s2sh 简单框架 工程实现

    【S2SH 简单框架工程实现】 S2SH,即Struts2、Spring、Hibernate的组合,是Java Web开发中的一个经典框架组合。这个框架集合了MVC(Model-View-Controller)架构模式、依赖注入(Dependency Injection)以及对象...

    S2SH需要的所有jar包

    "S2SH需要的所有jar包"这个压缩包文件包含了这三个框架以及Java Web开发所需的其他相关库。下面将详细阐述SSH框架的主要组件及其相关的jar包,以及它们在开发中的作用。 1. Struts2:Struts2是一个基于MVC(Model-...

    Java EE轻量级框架应用与开发--S2SH-示例代码和部分贯穿项目代码.zip

    【压缩包子文件的文件名称列表】"415114示例代码和部分贯穿项目代码-Java EE轻量级框架应用与开发" 提示了压缩包中可能包含的是实际的Java EE项目代码,这部分代码可能是为了演示S2SH框架如何协同工作以及如何在...

    s2sh做的登录和注册 myeclipse

    这个项目对于学习S2SH框架的整合和理解MVC设计模式非常有帮助,同时也可以帮助开发者掌握数据库操作、表单验证和用户认证的基础知识。通过这个项目,你可以实践如何在MyEclipse中创建和配置项目,如何编写Action、...

    s2sh集成需要的jar包

    在Java开发领域,S2SH框架(Struts2、Spring、Hibernate)是常见的MVC架构,用于构建企业级Web应用程序。这个"**s2sh集成需要的jar包**"是针对那些试图整合这三个框架的开发者准备的资源。下面将详细阐述S2SH集成...

    S2SH的jar包

    标题中的"S2SH的jar包"指的是一个基于Struts2、Hibernate3和Spring3的Java Web项目的库文件集合。在Java开发中,S2SH是一个常见的技术栈组合,用于构建企业级的MVC(Model-View-Controller)应用程序。这三个框架...

    可以提供初学者的s2sh项目源码

    这个初学者的s2sh项目源码为学习者提供了一个无需数据库、可以直接运行的基础示例,有助于理解这三个框架协同工作的原理。 首先,**Struts2** 是一个基于MVC设计模式的Java Web框架,它负责处理HTTP请求并生成响应...

    S2SH用户登录项目

    【描述】虽然描述信息为"NULL",但根据标签和常见的S2SH架构,我们可以推测这是一个教学性质的项目,旨在教授开发者如何使用Struts2处理前端请求,Spring进行依赖注入和事务管理,以及Hibernate作为持久层框架与...

Global site tag (gtag.js) - Google Analytics