Java及spring 註解(反射原理)
java註解:
Java5.0以後引入了註解的概念
註解只在原始碼階段保留(編譯時忽略),不會影響程式內部的東西,決定執行級別 是一個標識
定義一個註解就可以在其他類中使用
1.元註解:註解上面的註解
(1)@ Retention(...)
(2)@Documented
(3)[email protected]-----註解執行的地方(建構函式/屬性/方法上)
(5)@Repeatable(...) 可多次重複使用--可以將多個值重複賦給容器
註解的屬性:也叫成員變數,註解只有成員變數,沒有方法。
註解的成員變數在註解中以“無形參的方法”形式來宣告,其方法名定義該成員變數的名字,其返回值定義了該成員變數的型別;
給註解的屬性賦值:
(當一個註解(RunAnnotation2)沒有屬性---它只是一個標識 ()可以省略)
Java預用(本來就有)註解:
@Deprecated:過時的方法或者類(還可以用 只是有了更好的升級)
@Override:方法過載
@SuppressWarnings(“要忽略的內容”):阻止警告
@SafeVarargs:引數安全型別
@FunctionalInterface:函式式介面註解
註解與反射:
註解通過反射獲取(通過反射獲取註解資訊), 通過類 方法名名字獲取
mvc在執行時在handlemapping會讀你的註解 拿到你的註解的值 拼成一個請求傳送到DispaterServlet或者controller
自定義註解:可以定義一個static 方法獲取註解,,然後控制程式的走向
package com.spring.annotation;
@TestAnnotation(id="666",message = "wxx")
public class Test {
//只有當id=666時才訪問到這個方法
private void test(){
System.out.println("test run");
}
public void runTest()
{
//獲取類的註解
TestAnnotation t=this.getClass().getAnnotation(TestAnnotation.class);
if(t.id().equals("666"))
{
this.test();
}
}
}
只要例項化物件就判斷是否加了該註解????
使用註解--- 反射原理(需要把註解加到多個類或者多個方法)判斷邏輯
spring 註解:
自動注入:成員變數上
@Autowired:自動注入 預設ByType (包/介面的實現類)找,如果找到有多個bean 再按ByName查詢
(用你注入的型別去匹配你定義的bean 當匹配到多個時 根據 唯一的name再進行匹配 多個則異常)
@Qualifier("name"):名字注入
@Resource:成員變數
@Singleton:單例類
@RequestBody:可以放協議上的內容
@RequestParam:獲取引數
@RequestMapping:請求對映
@ResponseBody:返回字串 去掉後返回原先檢視指定的頁面
@Controller:宣告控制器 控制層
@Service:service層
@Repository:相當於定義成bean 注入時便於分層
@Component:分層
ps:spring 的註解很強大,其應用機制主要就是反射原理 通過獲取物件做判斷邏輯;
相關推薦
Java及spring 註解(反射原理)
java註解: Java5.0以後引入了註解的概念 註解只在原始碼階段保留(編譯時忽略),不會影響程式內部的東西,決定執行級別 是一個標識 定義一個註解就可以在其他類中使用 1.元註解:註解上面的註解 (
Android主流IOC框架淺析(Java註解反射原理)
TextView mTextView; mTextView=(TextView) findViewById(R.id.mTextView); mTextView.setOnClickListener(new OnClickListener() { @Override public void onClick
Java自定義註解反射校驗數據
sda new out 格式 是否 本地 imp 使用範圍 數據類型 package com.annotations.ecargo; import java.lang.annotation.ElementType; import java.lang.annotati
JAVA框架 Spring 註解註入
.html class IT soft pri 涵蓋 java 復制 掃描 一、首先需要引入jar包:spring-aop-4.2.4.RELEASE.jar。(在spring解壓包libs內)。 二、如果註解方式註入依賴的對象,需要引用新的約束。 內的:xsd-conf
Spring註解實現原理
先來說說註解是什麼: 註解顧名思義,就是類似於添加註釋,但是又不跟註釋完全一樣,因此,我們可以將它理解為將類或者方法與特定的資訊進行關聯。 那麼註解如何實現? 1、介面使用@interface定義。 2、通過繼承以下註解,實現功能: 元註解@Target,@Ret
Spring註解的原理與自定義註解的實現
本文只是用於記錄個人在學習annotation過程中的心德,所以知識面不太完善。 1、註解的基本概念 Java 的annotation提供的是一種類似於註釋的機制,註解本身不做任何事,好比一個配置或者說一個標記。用於包、型別、構造方法、方法、成員變數、引數及本地變數
java自定義註解以及原理
import java.util.Arrays; import java.util.List; import com.puhui.flowplatform.manage.filter.RightFilter; import org.springframework.aop.BeforeAdvice; impo
SpringMvc學習心得(二)spring註解配置原理淺析
除了使用xml檔案配置以外,spring還支援使用註解實現JavaBean的配置,其具體實現方式網上已經介紹的很詳細,這裡就不再贅述了。本文將主要通過原始碼解析spring註解配置JavaBean的全過程。這裡主要分析的是@component和@Autowired這兩個註解
Spring註解注入原理
Spring容器框架包org.springframework.stereotype下Controller註解介面原始碼如下:@Target({java.lang.annotation.ElementType.TYPE})@Retention(RetentionPolicy.RU
Java框架-Spring基於註解的IOC配置及純註解
註解配置與xml配置都實現了減低程式間耦合的功能。 不同公司由不同習慣,有可能是純xml、純註解(很少)或者xml與註解混合使用(基於註解的IOC配置)。 1. 基於註解的IOC配置 1.1 建立一個簡單案例 1.1.1 建立專案,新增依賴(pom.xml)
Java核心機制:反射機制的原理及應用方法
一、java的核心機制 java有兩種核心機制:java虛擬機器(JavaVirtual Machine)與垃圾收集機制(Garbage collection): 1、Java虛擬機器:是執行所有Java程式的抽象計算機,是Java語言的執行環境,在其上面執行Java程式碼編譯後的位元組碼程式,
【Java面試題】spring+springMVC+mybatis原理及實現機制(持續更新)
本文將持續更新,主要講解SSM框架的底層原理和實現機制等 1.什麼是IOC? IOC即Inverse of Control,它包括兩個內容:控制與反轉 那到底什麼東西的“控制”被“反轉”了呢?對於軟體而言,即是某一個介面具體實現類的選擇控制權從呼叫類中移除,轉交給第三
Spring MVC工作原理 及註解說明
SpringMVC框架介紹 1) Spring MVC屬於SpringFrameWork的後續產品,已經融合在Spring Web Flow裡面。 Spring 框架提供了構建 Web 應用程式的全功能 MVC 模組。使用 Spring 可插入的 MVC 架構,
java 反射,spring 自動注入原理
package com.xiaoqiang.user; public class User { private String username; private String mobile; public String getUsername() { retu
番外 01:Spring IoC 實現原理簡析,Java的反射機制,通過類名建立物件
轉載請註明來源 賴賴的部落格 前景概要 在 01 走進Spring,Context、Bean和IoC 中,我們看到了強大的Spring通過ApplicationContext實現了bean工廠(也就是物件工廠),那究竟是怎麼實現的呢,本次給大家寫一個小D
java的反射原理與Spring的自動注入(轉載)
Java反射原理與Spring的自動注入 反射的定義 java的反射機制就是在執行狀態中, 對於任意一個類都能夠知道這個類的所有屬性和方法;對於任意一個物件,都能夠呼叫它的任意一個方法和屬性。這種動態獲取的資訊以及動態呼叫物件的方法的功能稱為java語言的反射機制。 Spi
SpringMVC原理及非註解配置詳解
ges 控制器 sof 靈活 size 實現 query -c requests 1. Spring介紹 Spring MVC是Spring提供的一個強大而靈活的web框架。借助於註解,Spring MVC提供了幾乎是POJO的開發模式,使得控制器的開發和測試更加簡單
java之Spring裝配Bean(手動裝配、自動裝配、註解裝配)
fault tran 常見 成員 如果 on() base 反轉 tor 在上一篇控制反轉中我們看到了依靠一個Bean文件來實現對代碼的控制,可謂十分便捷,再也不用去實例化對象了,2333~~~ 1.手動裝配 1 <bean id="todo" class="
(轉)java之Spring(IOC)註解裝配Bean詳解
pos work 多個 public pre tor not 註解裝配 creat 在這裏我們要詳細說明一下利用Annotation-註解來裝配Bean。 因為如果你學會了註解,你就再也不願意去手動配置xml文件了,下面就看看Annotation的魅力所在吧。 先
Java 小記 — Spring Boot 註解
控制 配置 scan 復雜 () 很好 查看源碼 回顧 www. 前言 本篇隨筆將對 Spring Boot 中的常用註解做一個簡單的整理歸檔,寫作順序將從啟動類開始並逐步向內外擴展,目的即為了分享也為了方便自己日後的回顧與查閱。 1. Application 啟動類示例