整合struts1.x+spring2.x+hibernate3.x
1.整合:
加struts.next
加spring.选择core libraries+web libraries;next:application context.xml放到WEB-INF下.next:keep.
加hibernate(datasource已经配置好的情况下)选择core libraries+advanced support libraries+ORM/DAO/hibernate3 libraries;
next:选择spring configuration file;next:existing spring configuration file,下面写sessionfactory;next:取名:datasource,下拉框选择已有的datasoruce;next:不选择create sessionfactory class;next:finish.
至此,三个框架已经整合到一起.
常用代码:
struts-config.xml:
<controller>
<set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor" />
</controller>
代码说明:加入此元素,再写action的时候不用写type属性;
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
</plug-in>
代码说明:struts的请求交给spring来处理.
spring配置文件:
applicationContext.xml:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">在这里某些情况下会报错,因为jar包没加全.也可以用spring带的jdbc的jar包. 改为:class="org.springframework.jdbc.datasource.DriverManagerDataSource" 就可以了
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/tie</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>1234</value>
</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.MySQLDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>org/tie/vo/User.hbm.xml</value>
</list>
</property>
</bean>