国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Java 5之標(biāo)注
【武宇】
上次講解了java 5中的泛型這個(gè)比較重要的新概念,以及自動封裝解封機(jī)制(即Integer和int自動互相轉(zhuǎn)化),還有for each循環(huán)等java 5的新特性。今天再講講,Java5中另一個(gè)重要的特性,對整個(gè)java和J2EE體系 產(chǎn)生重要影響的元數(shù)據(jù),或者叫做標(biāo)注、注釋。英文可以叫作meta data或者Annotation。這個(gè)特性其實(shí)很簡單,但卻很好用,在很多新的框架和新技術(shù)中運(yùn)用廣泛如spring,EJB3.0,J2EE 5,JDBC4.0中都用到了這個(gè)特性。Annotation可以代替xml來實(shí)現(xiàn)例如松耦合的思想,設(shè)置實(shí)現(xiàn)依賴注入等技術(shù), 這樣就不用再寫那么多復(fù)雜的xml了
首先看個(gè)例子體會一下:
在Spring1.2中寫一個(gè)Service
@Transactional
public interface OrderService {
void createOrder(Order order);
List queryByCriteria(Order criteria);
注意@Transactional就是Annotation(標(biāo)注),有了這個(gè)標(biāo)注就表示這個(gè)接口里的方法都是采用默認(rèn)屬性支持事務(wù)的,自己不用 再寫begin ,commit,rollback等語句,當(dāng)然還需要在spring中做其他配置才行,這里暫時(shí)略,大家看明白標(biāo)注的意思就可以
再看一個(gè)帶參數(shù)的標(biāo)注
@Transactional(readOnly=true)
interface TestService {
@Transactional(readOnly=false,rollbackFor=DuplicateOrderIdException.class)
void createOrder(Order order) throws DuplicateOrderIdException ;
List queryByCriteria(Order criteria);
}
這里
@Transactional(readOnly=true),表示這個(gè)接口里的方法都進(jìn)行只讀事務(wù)處理,
@Transactional(readOnly=false,rollbackFor=DuplicateOrderIdException.class),表示
void createOrder(Order order)方法進(jìn)行讀寫事務(wù)處理,拋出DuplicateOrderIdException時(shí)會自動回滾,默認(rèn)時(shí)是RuntimeException回滾
這些都是spring1.2中的功能,
下面是Java EE 5中使用Annotation定義Web Service的一個(gè)例子:(引用自其他文章)
package endpoint;
import javax.jws.WebService;
@WebService
public class Hello {
public String sayHello(String param) {
return “Hello “ + param;
}
}
一個(gè)普通的Java類,通過加入@WebService這一Annotation,服務(wù)器就可將此類中的公共方法發(fā)布為Web Service,簡單又方便。
EJB3.0用使用Annotation(引自其他文章)
EJB3.0是對重載的EJB2的批判性思考和揚(yáng)棄。在EJB3.0中,不再需 要EJB home接口,也不需要實(shí)現(xiàn)javax.ejb.SessionBean接口,一個(gè)簡單的POJO對象就足于代表實(shí)體對象,并支持繼承和多態(tài)。同時(shí),困擾 人們多年的EJB部署描述符變成可選的。EJB的持久變得更加簡化、輕量級,EJB的查找也變得更加簡便,JNDI  API不再是必須的。EJB3.0還使用了Interceptor,在業(yè)務(wù)方法被調(diào)用前進(jìn)行攔截,因而更加容易實(shí)現(xiàn)靈活的AOP編程。
package com.example;
@Session
public class MyEJB {
@Resource(name = “employeeDatabase”)
private DataSource myDS;
...
}
上述代碼片斷定義了名為MyEJB的Session Bean,并定義了一個(gè)名為employeeDatabase的資源,將其注入到一個(gè)名為myDS的字段。通過依賴注入,不再需要復(fù)雜的部署描述符入口,事情就這么簡單。
以上舉了幾個(gè)標(biāo)注在spring,Web Service,EJB3.0中的應(yīng)用,大家對標(biāo)注有個(gè)認(rèn)識了,實(shí)際上標(biāo)注(Annotation)就是在程序中加上一些說明,這樣容器在調(diào)用這些類,方 法的時(shí)候就知道怎么處理了。(實(shí)際上是底層通過java反射機(jī)制將標(biāo)注和其屬性讀取出來。)那么如何自己定義標(biāo)注呢,也不復(fù)雜,我就不一一說了,可以看下 文
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
我們?yōu)槭裁葱枰狫ava EE 5.0
EJB 筆記 -Chapter04 Web Service
Java SE 6 Web Service 之旅 - [Matrix - 與 Java 共...
Web Services on XFire – Fast Forward to 2007
Web project 和 Web service project區(qū)別
Java自定義注解Annotation的使用.doc
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服