我们来讲解一下“SSH框架网上商城项目第1战之整合Struts2、Hibernate4.3和Spring4.2”的完整攻略。
简介
SSH框架是指Struts2、Hibernate、Spring这三个开源框架的组合,是经典的Java Web框架。整合这三个框架可以让项目的开发更高效、更具可维护性。
本文将讲解如何将这三个框架整合在网上商城项目中。
整合步骤
1.添加相关依赖
在pom.xml中添加Struts2、Hibernate和Spring相关的依赖。
<!-- Struts2 -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.26</version>
</dependency>
<!-- Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.11.Final</version>
</dependency>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
2.配置Struts2
在web.xml中配置Struts2的过滤器和监听器。
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.apache.struts2.dispatcher.ng.listener.StrutsListener</listener-class>
</listener>
3.配置Hibernate
在applicationContext.xml中配置Hibernate的SessionFactory和TransactionManager。
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/shopping?useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="packagesToScan" value="org.example.shopping.entity"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
4.配置Spring
在applicationContext.xml中配置Spring的组件扫描和注解驱动。
<context:component-scan base-package="org.example.shopping.service, org.example.shopping.dao"/>
<mvc:annotation-driven/>
5.编写业务逻辑代码
在业务逻辑层和数据访问层分别注入SessionFactory和HibernateTemplate。
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Transactional
public void addUser(User user) {
userDao.add(user);
}
}
@Repository
public class UserDaoImpl extends HibernateDaoSupport implements UserDao {
@Autowired
public void setSessionFactoryOverride(SessionFactory sessionFactory) {
super.setSessionFactory(sessionFactory);
}
public void add(User user) {
getHibernateTemplate().save(user);
}
}
至此,整合Struts2、Hibernate和Spring的工作就完成了。
示例
以下是两个使用整合后的SSH框架的示例:
控制器
public class UserAction extends ActionSupport {
private User user;
@Autowired
private UserService userService;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String addUser() {
userService.addUser(user);
return SUCCESS;
}
// other methods
}
JSP界面
<s:form action="addUser">
<s:textfield name="user.username" label="用户名"/>
<s:password name="user.password" label="密码"/>
<s:submit value="注册"/>
</s:form>
以上就是整合Struts2、Hibernate4.3和Spring4.2的完整攻略,希望可以帮助到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SSH框架网上商城项目第1战之整合Struts2、Hibernate4.3和Spring4.2 - Python技术站