| 網(wǎng)站首頁 | 關(guān)于我們 | 開發(fā)優(yōu)勢 | 產(chǎn)品展示 |
| 合作企業(yè) | 新聞動態(tài) | 聯(lián)系我們 | 電話聯(lián)系 |
文章作者:濟(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)理。