标签:
接手基于SSH框架的web项目已经一个月有余了。早有听说javaweb三大框架,第一次接触,先来说下感受。
我感觉SSH框架最明显的优点有如下:
其中Spring框架能使你通过最简单可行的方法来解决问题,这是非常高效的。但是它的搭建也略微复杂,尤其是对于我这样的新手来说,所以开此篇记录一下SPring框架的搭建:
1 <listener> 2 <listener- class>org.springframework.web.context.ContextLoaderListener</listener-class> 3 </listener>
通过这个listener可加载Spring框架,struts2也同时交由Spring来管理了
1 <import resource="config/applicationContext.xml"/> 2 3 <import resource="servicebean/applicationContext*.xml"/> 4 5 <import resource="databasebean/applicationContext*.xml"/> 6 7 <import resource="actionbean/applicationContext*.xml"/>
以上代码不难理解,分别是配置,服务,数据库,action的管理,注意在WEB-INF下创建对应文件夹以及相应配置文件即可,下面我们来看下
Spring和Hibernate的结合。
1 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" 2 destroy-method="close"> 3 <property name="driverClassName" value="${xianrui.database.driverClassName}" /> 4 <property name="url" value="jdbc:${xianrui.database.type}://${xianrui.database.address}:${xianrui.database.port}/${xianrui.database.name}?${xianrui.database.encode}" /> 5 <property name="username" value="${xianrui.database.username}" /> 6 <property name="password" value="${xianrui.database.password}" /> 7 8 </bean>
主要配置四个:驱动名,url,用户名和密码 value用的是公司配置的值,根据实际情况修改成自己的就好啦~
1 <bean id="sessionFactory" 2 class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 3 <property name="dataSource"> 4 <ref bean="dataSource" /> 5 </property> 6 <property name="mappingLocations"> 7 <list> 8 <value>classpath:com/xsq/model/**/*.hbm.xml</value> 9 </list> 10 </property> 11 <property name="hibernateProperties"> 12 <props> 13 <prop key="hibernate.dialect">${xianrui.hibernate.dialect}</prop> 14 </props> 15 </property> 16 </bean> 17 18 <!-- 配置事务管理器bean,使用HibernateTransactionManager事务管理器 --> 19 <bean id="transactionManager" 20 class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 21 <property name="sessionFactory"> 22 <ref bean="sessionFactory" /> 23 </property> 24 <property name="dataSource"> 25 <ref bean="dataSource" /> 26 </property> 27 </bean> 28 29 <!-- 使用annotation定义事务 --> 30 <tx:annotation-driven transaction-manager="transactionManager" 31 proxy-target-class="true" /> 32 33 34 <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> 35 <property name="dataSource"> 36 <ref bean="dataSource" /> 37 </property> 38 </bean> 39 40 <bean id="hibernateTemplate" class="com.xsq.core.extend.HibernateTemplate"> 41 <property name="sessionFactory"> 42 <ref bean="sessionFactory" /> 43 </property> 44 <property name="cacheQueries" value="false"></property> 45 <!-- 设置hibernate自动刷新更新数据FLUSH_EAGER --> 46 <property name="flushMode" value="2"></property> 47 </bean> 48 49 <bean id="hibernateTemplateCache" class="com.xsq.core.extend.HibernateTemplate"> 50 <property name="sessionFactory"> 51 <ref bean="sessionFactory" /> 52 </property> 53 <property name="cacheQueries" value="true"></property> 54 <!-- 设置hibernate自动刷新更新数据FLUSH_EAGER --> 55 <property name="flushMode" value="2"></property> 56 </bean> 57 58 <!-- 配置事务拦截器Bean --> 59 <bean id="transactionInterceptor" 60 class="org.springframework.transaction.interceptor.TransactionInterceptor"> 61 <!-- 为事务拦截器bean注入一个事物管理器 --> 62 <property name="transactionManager" ref="transactionManager"></property> 63 <property name="transactionAttributes"> 64 <!-- 定义事务传播属性 --> 65 <props> 66 <prop key="add*">PROPAGATION_REQUIRED</prop> 67 <prop key="save*">PROPAGATION_REQUIRED</prop> 68 <prop key="insert*">PROPAGATION_REQUIRED</prop> 69 70 <prop key="remove*">PROPAGATION_REQUIRED</prop> 71 <prop key="delete*">PROPAGATION_REQUIRED</prop> 72 73 74 </props> 75 </property> 76 </bean>
仔细看代码,用到很多通配符*的配置,所以在开发过程中类方法的命名要特别注意,有其实model类的配置文件:类名.hbm.xml。
顺便简单说下applicationco_service和applicationContext-dao.xml的配置,如下:
<bean id="accountManagerService" class="com.xsq.service.impl.AccountManagerServiceImpl">
<property name="accountManagerDao" ref="accountManagerDao"></property>
</bean>
<bean id="accountManagerDao" class="com.xsq.dao.AccountManagerDao">
<property name="hibernateTemplate" ref="hibernateTemplate"></property>
</bean>
很简单,一看就明白= =!
applicationContext-action.xml的配置,如下:
<bean id="announceAction" class="com.xsq.web.sysmgr.AnnounceAction" scope="prototype">
<property name="announceService" ref="announceService"></property>
</bean>
将struts.xml配置中的class改成bean的id名就好了~
至此,一个初级的SSH框架就构建好了,这里只说明了Spring框架的搭建,其他两个框架的基础配置还是要建的,在这就不细说了!
标签:
原文地址:http://www.cnblogs.com/Artstylech/p/5432665.html