当前位置: 代码迷 >> Web前端 >> spring的配备
  详细解决方案

spring的配备

热度:101   发布时间:2012-11-25 11:44:31.0
spring的配置

34.1.3? Spring的web.xml配置

和其他Web框架一样,Spring的MVC框架是一个请求驱动的Web框架,其设计围绕一个中心的Servlet进行,它能将请求分发给控制器,并提供其他功能帮助Web应用开发。

DispatcherServlet实际上是一个Servlet,它从HttpServlet继承而来。和其他Servlet一样,DispatcherServlet定义在Web应用的web.xml文件里。DispatcherServlet处理的请求必须在同一个web.xml文件里使用url-mapping定义映射,下面的例子演示了如何配置DispatcherServlet:

<web-app>   
<servlet>      
<servlet-name>Dispatcher</servlet-name>      
<servlet-class>          org.springframework.web.servlet.DispatcherServlet      </servlet-class>      
<init-param>          
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</init-param>      
<load-on-startup>1</load-on-startup>  
</servlet>  
<servlet-mapping>      
<servlet-name>Dispatcher</servlet-name>      
<url-pattern>*.do</url-pattern>  
</servlet-mapping>   
</web-app> 

在上面的配置中,所有以.do结尾的请求都会由名为Dispatcher的DispatcherServlet处理,该Servlet配置了初始化参数contextConfigLocation,设置IoC配置文件的名称为/WEB-INF/application- Context.xml。如果不配置该参数,则它会读取默认的文件名/WEB-INF/Dispatcher-servlet.xml。通常习惯使用applicationContext.xml,也可以配置多个XML文件:

<init-param>      
<param-name>contextConfigLocation</param-name>      
<param-value>/WEB-INF/applicationContext.xml,      /WEB-INF/part2.xml</param-value>  
</init-param>
//spring 加hibernate配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
?<bean id="mySessionFactory"
? class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
? <property name="configLocation">
?? <value>classpath:hibernate.cfg.xml</value>
? </property>
?</bean>
?<bean id="myTransactionManager"
? class="org.springframework.orm.hibernate3.HibernateTransactionManager">
? <property name="sessionFactory">
?? <ref bean="mySessionFactory" />
? </property>
?</bean>
?<bean id="myBaseTransactionProxy"
? class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
? abstract="true">
? <property name="transactionManager" ref="myTransactionManager" />
? <property name="transactionAttributes">
?? <props>
??? <prop key="*">PROPAGATION_REQUIRED</prop>
??? <!-- 
???? <prop key="insert*">PROPAGATION_REQUIRED</prop>
???? <prop key="save">PROPAGATION_REQUIRED</prop>
???? <prop key="update*">PROPAGATION_REQUIRED</prop>
???? <prop key="edit*">PROPAGATION_REQUIRED</prop>
???? <prop key="del*">PROPAGATION_REQUIRED</prop>
???? <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
???? <prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>
???? <prop key="disPlay*">PROPAGATION_REQUIRES_NEW</prop>
??? -->
?? </props>
? </property>
?</bean>
?<bean id="UsersDAO" class="com.notepad.dao.UsersDAO">
? <property name="sessionFactory">
?? <ref bean="mySessionFactory" />
? </property>
?</bean>
?<bean id="userTarget" class="com.notepad.bussies.UserService">
? <property name="usersDao">
?? <ref local="UsersDAO" />
? </property>
?</bean>
?<bean id="UserService" parent="myBaseTransactionProxy">
? <property name="proxyTargetClass">
?? <value>true</value>
? </property>
? <property name="target">
?? <ref local="userTarget" />
? </property>
?</bean>
</beans>
  相关解决方案