在工程的pom.xml文件中,增加spring的依赖。
虽然在依赖struts2的spring插件是已经引入了spring的包文件,不过通过依赖struts2导入的spring包版本比较旧,
如果想要导入新版本的spring相关包,需要特别在pom配置。
<!--Struts2 - spring plugin-->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>${struts2.version}</version>
</dependency>
下面就是一些spring需要依赖的包,这里有一个注意点,以为struts2-spring-plugin里,包含了spring-beans,spring-core,spring-context,spring-web这四个包,所以必须如下配置4个包的依赖,否则会因为版本不一致在工程项目允许时,发生org.springframework.beans.factory.BeanCreationException的错误。
(具体原因参考:http://stackoverflow.com/questions/3971219/error-creating-bean-with-name-sessionfactory-malformedparameterizedtypeexcept)
<!-- spring 映射包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.0.5.RELEASE</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<!-- spring 核心包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.0.5.RELEASE</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.0.5.RELEASE</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
添加数据库相关依赖
<!--mysql数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.10</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<!--数据库连接池-->
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
spring配置文件:
applicationContext.xml
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:db.properties</value>
</list>
</property>
</bean>
<!--配置数据源-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${db_driverClassName}"/>
<property name="jdbcUrl" value="${db_path}"/>
<property name="user" value="${db_username}"/>
<property name="password" value="${db_password}"/>
<property name="minPoolSize" value="${db_miniPoolSize}" />
<property name="maxPoolSize" value="${db_maxPoolSize}" />
<property name="initialPoolSize" value="${db_initialPoolSize}" />
<property name="maxIdleTime" value="${db_maxIdleTime}" />
<property name="checkoutTimeout" value="${db_timeout}" />
</bean>
<!--配置hibernateSessionFactory-->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<!--添加 mapping文件-->
<property name="mappingResources">
<list>
<value>hibernate/User.hbm.xml</value>
</list>
</property>
</bean>