Java注解【二、Java中的常見注解】


JDK自帶注解

  • @Override 重寫
  • @Deprecated 已過期
  • @Suppvisewarnings 壓制警告

Demo:

public interface Person {
public String Name();

public int Age();

@Deprecated
public void Say();    //過期,但不能刪除,可以注解已過期
}

class Man implements Person {

@Override
public String Name() {
	return null;
}
@Override    //若接口沒有該方法,會報錯
public void Say() {
}
}

public class AnnoDemo{
@SuppressWarnings("deprecation")
public static void main(String[] args){
	Person pm = new Man();
	pm.Name();
	pm.Say(); //這里會有警告,使用suppressWarnings可以壓制警告
}
}

常見第三方注解

Spring

  • @Autowired 自動裝配
  • @Service 用於標注業務層組件
  • @Repository 用於標注數據訪問組件,即DAO組件
  • @Controller 用於標注控制層組件(如struts中的action)
  • @Component 泛指組件,當組件不好歸類的時候,我們可以使用這個注解進行標注。

Mybatis(還沒接觸,暫時看不懂..)

  • @SelectProvider(type = TestSqlProvider.class, method = "getSql") : 提供查詢的SQL語句,如果你不用這個注解,你也可以直接使用@Select("select * from ....")注解,把查詢SQL抽取到一個類里面,方便管理,同時復雜的SQL也容易操作,type = TestSqlProvider.class就是存放SQL語句的類,而method = "getSql"表示get接口方法需要到TestSqlProvider類的getSql方法中獲取SQL語句。

  • @InsertProvider(type = TestSqlProvider.class, method = "insertSql") :用法和含義@SelectProvider一樣,只不過是用來插入數據庫而用的。

  • @UpdateProvider(type = TestSqlProvider.class, method = "updateSql") :用法和含義@SelectProvider一樣,只不過是用來更新數據庫而用的。

  • @DeleteProvider(type = TestSqlProvider.class, method = "deleteSql") :用法和含義@SelectProvider一樣,只不過是用來刪除數據而用的。

  • @Options(useCache = true, flushCache = false, timeout = 10000) : 一些查詢的選項開關,比如useCache = true表示本次查詢結果被緩存以提高下次查詢速度,flushCache = false表示下次查詢時不刷新緩存,timeout = 10000表示查詢結果緩存10000秒。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM