<?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="com.microsoft.jdbc.sqlserver.SQLServerDriver">
</property>
<property name="url"
value="jdbc:microsoft:sqlserver://localhost:1433;databaseName=master">
</property>
<property name="username" value="sa"></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>entity/StuInfo.hbm.xml</value>
</list>
</property>
</bean>
<!-- 事务管理 -->
<bean id="TransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="proxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
<property name="transactionManager">
<ref bean="TransactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="check*">PROPAGATION_REQUIRED</prop>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<!-- DAO层 -->
<bean id="stuinfodao" class="dao.StuInfoDAOImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- biz层 -->
<bean id="stuinfoservice" class="biz.StuInfoServiceImpl">
<property name="dao">
<ref bean="stuinfodao" />
</property>
</bean>
<!-- 真实代理层 -->
<bean id="proxyStuInfo" parent="proxy">
<property name="target">
<ref bean="stuinfoservice"/>
</property>
</bean>
<!-- 定义action -->
<bean name="/add" class="struts.action.AddAction">
<property name="service">
<ref bean="proxyStuInfo"/>
</property>
</bean>
</beans><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
<data-sources />
<form-beans >
<form-bean name="addForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="name" type="java.lang.String" />
</form-bean> </form-beans> <global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="addForm"
input="/add.jsp"
name="addForm"
path="/add"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy" /> </action-mappings> <message-resources parameter="struts.ApplicationResources" />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
</struts-config>不明白jsp跳到struts.xml后又怎么跳到spring的?
刚学spring下了个源码,求大侠解释下 spring的配置,是一个怎么运作流程
<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="com.microsoft.jdbc.sqlserver.SQLServerDriver">
</property>
<property name="url"
value="jdbc:microsoft:sqlserver://localhost:1433;databaseName=master">
</property>
<property name="username" value="sa"></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>entity/StuInfo.hbm.xml</value>
</list>
</property>
</bean>
<!-- 事务管理 -->
<bean id="TransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="proxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
<property name="transactionManager">
<ref bean="TransactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="check*">PROPAGATION_REQUIRED</prop>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<!-- DAO层 -->
<bean id="stuinfodao" class="dao.StuInfoDAOImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- biz层 -->
<bean id="stuinfoservice" class="biz.StuInfoServiceImpl">
<property name="dao">
<ref bean="stuinfodao" />
</property>
</bean>
<!-- 真实代理层 -->
<bean id="proxyStuInfo" parent="proxy">
<property name="target">
<ref bean="stuinfoservice"/>
</property>
</bean>
<!-- 定义action -->
<bean name="/add" class="struts.action.AddAction">
<property name="service">
<ref bean="proxyStuInfo"/>
</property>
</bean>
</beans><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
<data-sources />
<form-beans >
<form-bean name="addForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="name" type="java.lang.String" />
</form-bean> </form-beans> <global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="addForm"
input="/add.jsp"
name="addForm"
path="/add"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy" /> </action-mappings> <message-resources parameter="struts.ApplicationResources" />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
</struts-config>不明白jsp跳到struts.xml后又怎么跳到spring的?
刚学spring下了个源码,求大侠解释下 spring的配置,是一个怎么运作流程
解决方案 »
- java FTP 上传问题。 求解。
- 问大家一个问题,Oracle ERP二次开发和JavaEE开发哪个更有前途
- 对jms和线程精通的高手们,来看看这个问题!关于jms中session生成线程和主线程通信时的问题
- 加载hibernate.cf.xml时的问题,请看下....
- 全面J2EE书?
- JAVA POI 将一个excel里的数据读取到已经定义好的模板里
- HelloWorld 无法通过,请高人指点!
- HTML文件在TOMCAT服务器上打开显示乱码
- resin的错误日志,对日志比较熟悉的进来看下。
- 郑重承诺,由于时间要求较紧,java rmi的问题,我愿意再加100分,江湖救急大家帮忙了!!
- 面试题,求解
- 【求助】关于JAVA小程序代码
关键就是这个 交给spring代理
你把spring看个30遍 想不理解都难了
http://www.ibm.com/developerworks/cn/java/wa-spring1/可以去看看 这两篇文章的介绍
jsp->.do->struts-config.xml文件(由于其action的type="org.springframework.web.struts.DelegatingActionProxy"意思是委托其spring作为代理,所以就直接根据name在spring.xml文件查找,spring来控制,什么依赖注入啊spring了)
系统启动:先加载context.xml文件,把定义的bean加载的缓存中,
jsp页面调用action后,从struts.xml找到action的定义
<action name="Test" class="testAction">
<result name="success">/login/success.jsp</result>
<result name="invalid.token">/login/error.jsp</result>
<interceptor-ref name="defaultStack" />
<interceptor-ref name="token" />
</action>然后在spring的bean对象找到Test的定义
<bean id="testAction" class="login.TestAction"
scope="prototype">
</bean>
<bean id="TransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="proxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
<property name="transactionManager">
<ref bean="TransactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="check*">PROPAGATION_REQUIRED</prop>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
这段,不是很懂
<action
attribute="addForm"
input="/add.jsp"
name="addForm"
path="/add"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy" />spring配置文件:
<bean name="/add" class="struts.action.AddAction">通过Spring框架提供的代理类。
processorClass="org.springframework.web.struts.AutowiringRequestProcessor">
</controller>