注解:实现EmpBizImpl的bean类

来源:互联网 发布:宁波指动网络董事长 编辑:程序博客网 时间:2024/05/16 02:04

1.EmpBizImpl—一个bean类

package biz.impl;import java.sql.SQLException;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.stereotype.Repository;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Propagation;import org.springframework.transaction.annotation.Transactional;import biz.EmpBiz;import dao.DeptDao;import dao.EmpDao;import entity.Emp;@Service("empBiz")public class EmpBizImpl implements EmpBiz {    @Autowired    @Qualifier("edi")    private EmpDao edi;    private DeptDao deptDao;    public EmpBizImpl() {        super();    }    public EmpDao getEdi() {        return edi;    }    public void setEdi(EmpDao edi, DeptDao deptDao) {        this.edi = edi;        this.deptDao = deptDao;    }    public EmpBizImpl(EmpDao edi) {        super();        this.edi = edi;    }    @Override    @Transactional(readOnly=true)    public List<Emp> findAllEmp() {        return edi.findAllEmp();    }    @Override    @Transactional(readOnly=true)    public List<Emp> findEmpByCondition(Emp e) {        // TODO Auto-generated method stub        return edi.findEmpByCondition(e);    }    @Override       @Transactional(readOnly=true)    public List<Emp> findEmpByNameParam(Emp e) {        // TODO Auto-generated method stub        return null;    }    @Override    @Transactional(readOnly=true)    public List<Emp> findEmpByExemple(Emp e) {        // TODO Auto-generated method stub        return null;    }    @Override    @Transactional(readOnly=true)    public Emp findEmpById(int id) {        // TODO Auto-generated method stub        return null;    }    @Override    @Transactional(propagation=Propagation.REQUIRED,rollbackFor={SQLException.class})    public int addEmp(Emp e) {        return edi.addEmp(e);    }    @Override    @Transactional(propagation=Propagation.REQUIRED,rollbackFor={SQLException.class})    public void modifyEmp(Emp e) {        edi.modify(e);    }    @Override    @Transactional(readOnly=true)    public List<Emp> findEmpbyPage(int pageNo, int pageSize) {        // TODO Auto-generated method stub        return edi.findEmpByPage(pageNo, pageSize);    }    @Override    @Transactional(propagation=Propagation.REQUIRED,rollbackFor={SQLException.class})    public void updateBatchEmpSal(double sal) {        edi.updateBatchEmpSal(sal);    }}

2.applicationContext.xml配置文件

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns:p="http://www.springframework.org/schema/p"    xmlns:tx="http://www.springframework.org/schema/tx"     xmlns:aop="http://www.springframework.org/schema/aop"xmlns:context="http://www.springframework.org/schema/context"    xsi:schemaLocation="http://www.springframework.org/schema/beans     http://www.springframework.org/schema/beans/spring-beans-3.1.xsd    http://www.springframework.org/schema/tx    http://www.springframework.org/schema/tx/spring-tx-3.1.xsd    http://www.springframework.org/schema/context    http://www.springframework.org/schema/context/spring-context-3.1.xsd        http://www.springframework.org/schema/aop    http://www.springframework.org/schema/aop/spring-aop-3.1.xsd" default-autowire="byName">    <context:component-scan base-package="action,biz.impl,dao.impl"></context:component-scan>    <!-- 第一种Hibernate框架集成策略 -->    <!-- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">         <property name="configLocation" value="classpath:hibernate.cfg.xml"> </property>         </bean> -->    <!-- 第二种Hibernate框架集成策略 -->    <!-- 配置数据源:第一种,直接写入数据库连接信息 -->    <!-- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">         <property name="driverClassName" value="oracle.jdbc.OracleDriver"></property>         <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>         <property name="username" value="scott"></property> <property name="password"         value="123456"></property> </bean> -->    <!-- 配置数据源:第二种,通过读取配置文件获取数据库连接信息 -->    <!-- 第一步,读取配置文件 -->    <bean        class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">        <property name="locations">            <value>classpath:jdbc.properties</value>        </property>        </bean>        <!-- </bean> 第二步,通过表达式将配置文件引入 -->        <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">        <property name="driverClassName" value="${driverClassName}"></property>        <property name="url" value="${url}"></property>        <property name="username" value="${username}"></property>        <property name="password" value="${password}"></property>        </bean>        <!-- 配置会话工厂 -->        <bean id="sessionFactory"            class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">            <property name="dataSource" ref="dataSource"></property>            <property name="hibernateProperties">                <props>                    <prop key="hibernate.dialect">                        org.hibernate.dialect.Oracle9Dialect                    </prop>                    <prop key="url">                        jdbc:oracle:thin:@localhost:1521:orcl                    </prop>                    <prop key="show_sql">                        true                    </prop>                    <prop key="format_sql">                        true                    </prop>                </props>            </property>            <property name="annotatedClasses">            <list>            <value>entity.Emp</value>            <value>entity.Dept</value>            </list>            </property>            <!-- <property name="mappingResources"> <list> <value>entity/Emp.hbm.xml</value>                 <value>entity/Dept.hbm.xml</value> </list> </property> -->            <!-- <property name="mappingDirectoryLocations">                <value>classpath:entity</value>            </property> -->        </bean>        <!-- 配置dao层bean -->    <!--         <bean id="deptDao" class="dao.impl.DeptDaoImpl">            <property name="sessionFactory" ref="sessionFactory"></property>        </bean>        <bean id="edi" class="dao.impl.EmpDaoImpl" >            <property name="sessionFactory" ref="sessionFactory"></property>        </bean><bean id="edi2" class="dao.impl.EmpDaoImpl2" autowire-candidate="false">            <property name="sessionFactory" ref="sessionFactory"></property>        </bean>        <bean id="empBiz" class="biz.impl.EmpBizImpl" autowire="constructor">            <property name="edi" ref="edi"></property>        </bean>        <bean id="ea" class="action.EmpAction" scope="prototype">            <property name="empBiz" ref="empBiz"></property>        </bean> -->        <!-- 添加事务管理器 -->        <bean id="txManager"            class="org.springframework.orm.hibernate3.HibernateTransactionManager">            <property name="sessionFactory" ref="sessionFactory"></property>        </bean>        <tx:annotation-driven transaction-manager="txManager"/>        <!-- 配置事务作用策略(基于对目标方法名进行通配符匹配) -->    <!--    <tx:advice id="txAdvice" transaction-manager="txManager">            <tx:attributes>                <tx:method name="add*" propagation="REQUIRED" />                <tx:method name="insert*" propagation="REQUIRED" />                <tx:method name="update*" propagation="REQUIRED" />                <tx:method name="modify*" propagation="REQUIRED" />                <tx:method name="delete*" propagation="REQUIRED" />                <tx:method name="del*" propagation="REQUIRED" />                <tx:method name="find*" read-only="true" />                <tx:method name="get*" read-only="true" />            </tx:attributes>        </tx:advice> -->        <!-- 指定切入点,织入切面 -->        <!-- <aop:config>            <aop:pointcut expression="execution(* biz.*.*(..))" id="myPoint" />            <aop:advisor advice-ref="txAdvice" pointcut-ref="myPoint" />        </aop:config> -->        <import resource="applicationContext-dao.xml"/>            <import resource="applicationContext-biz.xml"/>                <import resource="applicationContext-action.xml"/></beans>
0 0
原创粉丝点击