SSH整合 注解
2017-10-29 16:33
295 查看
@Controller("deptAction") @Scope(value = "prototype") @ParentPackage("struts-default") @Namespace("/") public class IDeptAction extends ActionSupport{ private Dept dept; @Resource(name = "IDeptService") private IDeptService service; @org.apache.struts2.convention.annotation.Action(value = "add",results = {@Result(name = "success",location = "/jsp/index.jsp")}) public String add(){ service.add(dept); return SUCCESS; } public Dept getDept() { return dept; } public void setDept(Dept dept) { this.dept = dept; } public IDeptService getService() { return service; } public void setService(IDeptService service) { this.service = service; } }
package cn.happy.bean; import javax.persistence.*; /** * Created by 张晓宇 on 2017/10/13. */ @Entity @Table public class Dept { @Id//标识实体中ID和底层数据表的主键统一 @GeneratedValue //(strategy = GenerationType.IDENTITY)主键生成策略:mysql 底层自动autoincreament private Integer deptno; @Column private String deptname; public Integer getDeptno() { return deptno; } public void setDeptno(Integer deptno) { this.deptno = deptno; } public String getDeptname() { return deptname; } public void setDeptname(String deptname) { this.deptname = deptname; } }
@Repository("IDeptDao") public class IDeptDaoImpl implements IDeptDao{ @Resource private SessionFactory sessionFactory; public void add(Dept dept) { Session session = sessionFactory.getCurrentSession(); session.save(dept); } public SessionFactory getSessionFactory() { return sessionFactory; } public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } }
@Transactional @Service("IDeptService") public class IDeptServiceImpl implements IDeptService{ @Resource(name = "IDeptDao") private IDeptDao dao; public void add(Dept dept) { dao.add(dept); } public IDeptDao getDao() { return dao; } public void setDao(IDeptDao dao) { this.dao = dao; } }
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd "> <!--包扫描器--> <context:component-scan base-package="cn.happy.*"></context:component-scan> <!--1.Datasource--> <!--1.配置数据源c3p0--> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jdbc.driverClassName}"/> <property name="user" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> <property name="jdbcUrl" value="${jdbc.url}"/> </bean> <!--jdbc.properties--> <context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder> <!--2.SessionFactory 类:Local--> <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="hibernateProperties"> <props> <!--hibernate.xxxxxx必须以hibernate--> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.dialect"> org.hibernate.dialect.Oracle10gDialect</prop> <!--with current thread bind session--> <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate5.SpringSessionContext</prop> </props> </property> <!-- <property name="mappingDirectoryLocations" value="classpath:cn/happy/bean"></property> --> <property name="packagesToScan" value="cn.happy.bean"></property> </bean> <!--3.dao--> <!--<bean id="deptDAO" class="cn.happy.dao.IDeptDaoImpl"> <property name="sessionFactory" ref="sessionFactory"></property> </bean>--> <!--4.service--> <!--<bean id="deptService" class="cn.happy.service.IDeptServiceImpl"> <property name="dao" ref="deptDAO"></property> </bean>--> <!--5.Controller 要用spring去创建一个Action Struts2的Action是多例的--> <!--<bean name="deptAction" class="cn.happy.action.IDeptAction" scope="prototype"> <property name="service" ref="deptService"></property> </bean>--> <!-- 6.事务管理器--> <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!--7.事务--> <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven> </beans>
相关文章推荐
- 使用注解实现ssh整合
- ######crm01_最快速:搭建纯注解ssh整合环境(只用一个Spring配置)素材提供jar包,只有两步工作:①写Spring配置②写ssh注解+简单逻辑=遇到action创建失败问题
- SSH整合例子 Struts2 Spring3 Hibernate3 注解
- ssh整合webservice cxf采用注解的方式+andriod客户端
- SSH整合案例------使用idea maven搭建 注解版
- spring系列(八):SSH整合三_采用spring注解方式
- SSH整合遇到的问题:$Proxy5 cannot be cast to -- SSH 事务采用注解无法获取Service实例bean
- SSH整合(注解方式)dataSource配置defaultAutoCommit启动报错,求解答
- ######Spring第5天ssh整合(注解版)难理解知识点:【自定义 方法加注解的方式】给dao注入sessionFactory属性+【搞清@Autowared和@Resource含义】
- ssh全注解框架整合
- ssh全注解框架整合
- 全注解整合ssh
- 简单的SSH整合(基于注解和xml文件的配置)
- SSH-使用注解整合实现简单的登录功能
- SSH整合之注解整合
- SSH整合时,基于注解的事务管理的配置方式
- SSH三大框架整合使用的配置文件 注解实现
- 关于SSH三大框架整合——配置文件方式、配置文件+注解方式
- Spring5.0.3 + Hibernate5.0.7 + Struts2.5.13全注解整合(SSH全注解整合)