mybatis之注解式开发

注解式开发

  • 开启注解
 <!--1. 注解式开发 -->
    <!--1) 注解驱动 -->
    <context:annotation-config/>
    <!--2) 用注解方式注入bean,并指定查找范围:com.zking.ssh2及子子孙孙包-->
    <context:component-scan base-package="com.zking.oa"/>

  • 常用注解
  1. @Repository
    将DAO类声明为Bean

  2. @Service
    通常作用在业务层

  3. @Constroller
    通常作用在控制层,将在springMVC中使用

  4. @Component
    是一个泛化的概念,仅仅表示spring中一个组件(Bean),可以作用在任何层次

  5. @Scope
    模式声明(singleton|prototype)

  6. @Autowired
    将自动在代码上下文中找到和其匹配(默认是类型匹配)的Bean,并自动注入到相应的地方去

  7. @Resource
    @Resource的装配顺序:
    1、@Resource后面没有任何内容,默认通过name属性去匹配bean,找不到再按type去匹配
    2、指定了name或者type则根据指定的类型去匹配bean
    3、指定了name和type则根据指定的name和type去匹配bean,任何一个不匹配都将报错

  8. @Transactional
    注解配置事务,个人感觉写XML配置声明式事务更加简单

  • @Autowired和@Resource两个注解的区别:
  1. @Autowired默认按照byType方式进行bean匹配,@Resource默认按照byName方式进行bean匹配
  2. . @Autowired是Spring的注解,@Resource是J2EE的注解,这个看一下导入注解的时候这两个注解的包名就一清二楚了
  3. Spring属于第三方的,J2EE是Java自己的东西,因此,建议使用@Resource注解,以减少代码和Spring之间的耦合。
  • Base模块注解
  1. BaseDAO
@Component
      @Scope("singleton")
      @Autowired
      setHibernateTemplateOverride(HibernateTemplate hibernateTemplate)//添加一个setXxx方法解决公共属性HibernateTemploate的注入问题,方法名可随便起
  1. BaseBiz
@Component
      @Scope("singleton")
  1. BaseAction
//@Component//不用加此注解
      @Scope("prototype")
  • Spring Test+JUnit完美组合
  1. 在工程的pom文件中增加spring-test的依赖
<dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-test</artifactId>
       <version>${spring.version}</version>
      </dependency>
  1. 使用springframework提供的单元测试新建测试类,并在该类上加上两个注解:
@RunWith(SpringJUnit4ClassRunner.class)
      @ContextConfiguration(locations={"classpath*:ApplicationContext.xml"})
  1. 在执行单元测试时,为了避免产生脏数据,可将测试单元设置成事务回滚
@Rollback(value = true|false)//true回滚事务,false提交事务
      @Transactional(transactionManager = "transactionManager") 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值