如何实现Spring与Struts2、Spring与和Hibernate之间的整合?
时间: 2023-11-28 21:50:17 浏览: 161
整合Struts+Spring+Hibernate
实现Spring与Struts2的整合:
1. 引入Struts2的Spring插件,可在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.x.x</version>
</dependency>
```
2. 在struts.xml配置文件中配置Spring的上下文,可在文件中添加以下代码:
```xml
<bean id="yourBeanName" class="your.package.YourClass"/>
```
3. 在Spring的配置文件(一般为applicationContext.xml)中配置Struts2所需的bean,可在文件中添加以下代码:
```xml
<bean id="yourActionName" class="your.package.YourAction">
<property name="property1" value="yourValue1" />
<property name="property2" value="yourValue2" />
</bean>
```
其中,YourAction为Struts2的Action类,property1和property2为Action类的属性。
实现Spring与Hibernate的整合:
1. 引入Hibernate和Spring的相关依赖,可在pom.xml文件中添加以下依赖:
```xml
<!-- Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.x.x.Final</version>
</dependency>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>5.x.x.RELEASE</version>
</dependency>
```
2. 在Spring的配置文件(一般为applicationContext.xml)中配置Hibernate的SessionFactory,可在文件中添加以下代码:
```xml
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="your.package" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
```
其中,your.package为Hibernate映射实体类所在的包名。
3. 在Spring的配置文件中配置Hibernate的映射文件,可在文件中添加以下代码:
```xml
<mapping class="your.package.YourEntity"/>
```
其中,YourEntity为Hibernate映射实体类。
4. 在DAO类中注入SessionFactory,可在类中添加以下代码:
```java
@Autowired
private SessionFactory sessionFactory;
```
5. 在Service类中注入DAO类,可在类中添加以下代码:
```java
@Autowired
private YourDAO yourDAO;
```
6. 在Controller中注入Service类,可在类中添加以下代码:
```java
@Autowired
private YourService yourService;
```
阅读全文