目錄
一、介紹
1.什麼是注解開發?
2.Spring注解的版本
3.基于spring注解的應用
4. @Component的細分注解
5.相關注解
二、簡單例子講解
1.類打注解
2.掃描注解放入工廠
3.總工廠取注解調用
4.運作結果
總結:
一、介紹
1.什麼是注解開發?
Spring除了xml配置檔案進行配置之外,還可以使用注解方式進行配置,注解方式慢慢替代xml配置。注解開發比xml檔案配置要友善許多
2.Spring注解的版本
2.0時代:spring開始出現注解
2.5時代:spring的Bean配置可以使用注解完成
3.0時代:spring其他配置也可以使用注解完成,進入了全注解時代
3.基于spring注解的應用
主要是使用注解的方式代替原有的xml的<bean>标簽及其标簽屬性的設定,使用@Component注解替代<bean>标簽
@Component:使用該注解的類,會在指定掃描範圍内被spring加載并執行個體化(就是使用這個注解的類,會在spring的xml檔案中被掃描到然後進行執行個體化)
ps:注解就像一個個标簽,貼在類上面,統一交給spring的xml檔案去管理,誰要擷取就從xml的工廠裡面去擷取這個标簽名字就好了。
4. @Component的細分注解
由于Java EE開發是分層的,為了每層Bean辨別的注解語義更加明确, @Component又延申出了如下的3個注解
@Repository:在Dao層類上使用
@Service:在service層類上使用
@Controller:在web層類上使用
5.相關注解
1.@Scope:在類上使用。标注bean的作用範圍,取值為singleton或者prototype
2.@Lazy:在類上使用标注bean是否延遲加載,取值為true或者false
3.@PostConstruct:在方法上使用,标注bean的執行個體化後執行的方法
4.@PreDestroy:在方法上使用,标注bean的銷毀前執行方法
二、簡單例子講解
準備工作:建好spring環境👇
快速入門使用spring詳細步驟(介紹、導入依賴、第一個簡單程式)_雲邊的快樂貓的部落格-CSDN部落格
正式開始👇
1.類打注解
即:建立一個類。然後給這個類打上标簽(注解) 。要不然在很多類管理工廠(spring.xml)裡面,怎麼識别你是哪個類。
package com.spring6.demo;
import org.springframework.stereotype.Component;
//1.添加@Component注解,括号裡面的是自定義名稱,不過為了識别友善,最好和類名一樣。ps:如果括号裡面不配置名稱,那麼就預設為該類名的小寫名稱
@Component("Hello")
public class Hello {
}
2.掃描注解放入工廠
即:在類管理工廠(spring的xml)檔案裡面編寫一個掃描元件去掃描這些類。
ps:xml檔案的建立方法:在resources裡使用快捷鍵alt+insert ,XML配置檔案-->spring配置。
看不懂的可以看中文版本
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
<!--注解元件掃描:掃描指定的基本包以及其子包下的類,識别使用component的類-->
<context:component-scan base-package="com.spring6.demo"/>
</beans>
3.總工廠取注解調用
即:建立一個類去從工廠裡面擷取打了标簽(注解)的類進行輸出。
package com.spring6.demo;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TextHello {
public static void main(String[] args) {
//1.掃描spring管理工廠xml檔案
ClassPathXmlApplicationContext atx = new ClassPathXmlApplicationContext("spring6.xml");
//2.從xml工廠裡面根據注解名調用類
Object H = atx.getBean("Hello");
//3.列印輸出
System.out.println(H);
}
}
4.運作結果
總結:
注解就是使用注解标簽去替代在spring的bean标簽裡面的掃描id,class這些,因為原先xml這些每個類都要寫上id,還要class的位置就很麻煩,現在直接使用注解在該類上面标上就省去了這些繁瑣的步驟。不過還是要在xml檔案裡面配置元件包掃描。