Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1144580
  • 博文数量: 234
  • 博客积分: 5592
  • 博客等级: 大校
  • 技术积分: 1987
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-23 14:12
文章分类

全部博文(234)

文章存档

2015年(1)

2013年(4)

2012年(16)

2011年(204)

2010年(9)

分类: Java

2013-11-18 20:38:51

此文档旨在说明项目中如何配置使用注解以减少项目的额外配置。具体将以一个系统为例,讲述如何配置以及使用注解(包含事务注解、Dao层注解、Service层注解、Action层注解),注解皆采用Spring提供的注解。

  一、 下面先讲述如何配置注解:

  首先,引入jar包,下面3个jar与注解配置直接相关,其他关联包请自行引入:

  第二步,在Spring的applicationContext-xx.xml中进行如下配置:

  [html]

  

  

  

  

  

  通过以上配置后,项目中即可使用Spring提供的@Autowired、@Service、@Repository、@Compant等标签,以上标签具体含义请自行Google之,此处不再赘述。

  第三步,配置事务注解:

  [html]

  

  

  

  

  

  

  注:因为项目中使用的是jdbcTemplate,故此处事务管理类使用 DataSourceTransactionManager.若使用ibatis、hibernate时请使用其他事务管理类。

  第四步,配置jdbcTemplate注入Bean:

  [html]

  

  

  

  

  二、  通过以上配置即可在项目中使用注解,下面着重讲述使用方法:

  首先,由于项目中存在一个基类Dao,其他用户自定义类皆继承于该类,故只需要在BaseDao中注入jdbcTemplate.如下:

  @Autowired

  private JdbcTemplate jdbcTemplate;

  注:使用注解形式,无需再额外配置setter、getter方法,下同。

  第二步,在Dao实现类上配置注解,如下:

  @Repository

  public class NewsPublishedDaoImpl extends BaseDao implements INewsPublishedDao

  {

  }

  注:因为NewsPublishedDaoImpl继承BaseDao,故在此类中可以直接使用jdbcTemplate,而无需再进行注入。如果项目中无BaseDao,请记得在每个用户自定义Dao中配置jdbcTemplate.

第三步,在Service实现类上配置注解,如下:

  @Service

  public class NewsPublishedServiceImpl implements INewsPublishedService

  {

  @Autowired

  private INewsPublishedDao newsPublishedDao;

  }

  第四步,在Service实现类配置事务注解,如下:

  @Transactional

  public boolean insertNewsPublished()

  {

  }

  注:在需要事务控制的方法上添加该注解即可,不需要事务的方法无需添加。以上事务注解配置等价于

  @Transactional(propagation = Propagation.REQUIRED, isolation=Isolation.DEFAULT, readOnly = false)

  且,以上配置默认的回滚原则是捕获RuntimeException异常,如果需要捕获其他异常,请配置rollbackFor = YourException.class.

  第五步,在Action引入注解,如下:

  public class NewsPublishedAction

  {

  @Autowired

  private INewsPublishedService newsPublishedService;

  }

  综上,注解配置完毕。至于Action/Controller层亦可以使用注解来实现零配置,该内容不在本次讲解的范畴内,请自行Google之。

阅读(1908) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~