九九热这里直有精品,1区二区三区在线播放,玖玖爱在线观看资源,国产aⅴ综合网,午夜福利男女,日本亚洲欧美三级,日韩无码黄色导航,内射少妇13区,中文字幕高清网

您身邊的軟件定制專家--9年開發(fā)經(jīng)驗(yàn)為您護(hù)航

18678812288
0531-88887250

基于Spring注解方式配置項目

文章作者:濟(jì)南軟件開發(fā) 時間:2016年09月27日

  此文檔旨在說明項目中如何配置使用注解以減少項目的額外配置。具體將以一個系統(tǒng)為例,講述如何配置以及使用注解(包含事務(wù)注解、Dao層注解、Service層注解、Action層注解),注解皆采用Spring提供的注解。

  一、 濟(jì)南軟件開發(fā)先講述如何配置注解:

  首先,引入jar包,下面3個jar與注解配置直接相關(guān),其他關(guān)聯(lián)包請自行引入:

  第二步,在Spring的applicationContext-xx.xml中進(jìn)行如下配置:

  [html]

  <!--  配置注解掃描目錄  -->

  <context:component-scan base-package="com.bodatech">

  </context:component-scan>

  <!--  引入注解   -->

  <context:annotation-config />

  通過以上配置后,項目中即可使用Spring提供的@Autowired、@Service、@Repository、@Compant等標(biāo)簽,以上標(biāo)簽具體含義請自行Google之,此處不再贅述。

  第三步,配置事務(wù)注解:

  [html]

  <!-- 事務(wù)管理器 -->

  <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

  <property name="dataSource" ref="dataSource" />

  </bean>

  <!-- 配置事務(wù)控制   -->

  <tx:annotation-driven transaction-manager="transactionManager" />

  注:因?yàn)轫椖恐惺褂玫氖莏dbcTemplate,故此處事務(wù)管理類使用 DataSourceTransactionManager。若使用ibatis、hibernate時請使用其他事務(wù)管理類。

  第四步,配置jdbcTemplate注入Bean:

  [html]

  <!-- 配置 jdbctemplate 注入Bean -->

  <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">

  <property name="dataSource" ref="dataSource" />

  </bean>

  二、  通過以上配置即可在項目中使用注解,下面著重講述使用方法:

  首先,由于項目中存在一個基類Dao,其他用戶自定義類皆繼承于該類,故只需要在BaseDao中注入jdbcTemplate。如下:

  [java]

  @Autowired

  private JdbcTemplate jdbcTemplate;

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

  第二步,在Dao實(shí)現(xiàn)類上配置注解,如下:

  [java]

  @Repository

  public class NewsPublishedDaoImpl extends BaseDao implements INewsPublishedDao

  {

  }

  注:因?yàn)镹ewsPublishedDaoImpl繼承BaseDao,故在此類中可以直接使用jdbcTemplate,而無需再進(jìn)行注入。如果項目中無BaseDao,請記得在每個用戶自定義Dao中配置jdbcTemplate。

  第三步,在Service實(shí)現(xiàn)類上配置注解,如下:

  [java]

  @Service

  public class NewsPublishedServiceImpl implements INewsPublishedService

  {

  @Autowired

  private INewsPublishedDao newsPublishedDao;

  }

  第四步,在Service實(shí)現(xiàn)類配置事務(wù)注解,如下:

  [java]

  @Transactional

  public boolean insertNewsPublished()

  {

  }

  注:在需要事務(wù)控制的方法上添加該注解即可,不需要事務(wù)的方法無需添加。以上事務(wù)注解配置等價于

  [java]

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

  且,以上配置默認(rèn)的回滾原則是捕獲RuntimeException異常,如果需要捕獲其他異常,請配置rollbackFor = YourException.class。

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

  [java]

  public class NewsPublishedAction

  {

  @Autowired

  private INewsPublishedService newsPublishedService;

  }

  綜上,注解配置完畢。至于Action/Controller層亦可以使用注解來實(shí)現(xiàn)零配置,該內(nèi)容不在本次講解的范疇內(nèi),請自行Google之。


想要了解更多詳情歡迎來電咨詢18678812288
登陸網(wǎng)址:m.h6244.cn。
聯(lián)系人:王經(jīng)理。

正安县| 通榆县| 嘉定区| 徐闻县| 上犹县| 泗水县| 西乌珠穆沁旗| 冀州市| 萝北县| 涞水县| 阜新| 西林县| 泰宁县| 泾源县| 塔河县| 南充市| 班玛县| 五莲县| 横山县| 秦皇岛市| 青海省| 巴里| 永嘉县| 南木林县| 高尔夫| 玉屏| 游戏| 顺义区| 洞头县| 根河市| 桐乡市| 泰宁县| 翼城县| 和政县| 天全县| 彰武县| 芷江| 阿拉善右旗| 荔浦县| 新闻| 博白县|