Spring使用注解方式實(shí)現(xiàn)創(chuàng)建對(duì)象
首先 我們要搞清楚一個(gè)基礎(chǔ)概念
什么是注解?
注解
可以說(shuō)是代碼里的一些特殊標(biāo)記。
格式是 @() 里面可以有 屬性=屬性的值 可以有多個(gè)屬性值 多屬性值之間 用逗號(hào)隔開
注解 可以加載很多東西上面 例如 方法上面 屬性上面 還可以在類上面
而 注解方式的目的 或者好處 在于簡(jiǎn)化xml的配置操作
然后 我們來(lái)代碼走一下
我們創(chuàng)建一個(gè)java項(xiàng)目 引入spring 的幾個(gè)基礎(chǔ)包
然后 需要做注解方式的話 你需要多引入一個(gè) JAR包
aop包中有一些封裝 為注解做了一些功能
然后我們?cè)趕rc下創(chuàng)建 一個(gè)包 叫 Bean 在 Bean包下再創(chuàng)建一個(gè)包 叫 UserData
然后 在src下創(chuàng)建配置文件 bean.xml 參考代碼如下
<?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 http://www.springframework.org/schema/context/spring-context-4.3.xsd"> <context:component-scan base-package="Bean.UserData"></context:component-scan> </beans>
這里 我們利用了 context:component-scan開啟掃描 spring 如果你想用注解 一定要把包的 項(xiàng)目掃描打開
不然他是找不到注解的
那么 這里 我們指定掃描的包就是 Bean下的UserData 由base-package屬性指定
然后 我們了解一下 創(chuàng)立類對(duì)象的注解 有四個(gè)
- @Component
- @Service
- @Controller
- @Repository
他們都能實(shí)現(xiàn)創(chuàng)建對(duì)象這個(gè)功能
然后 我們?cè)赨serData包下創(chuàng)建一個(gè)user類
參考代碼如下
package Bean.UserData; import org.springframework.stereotype.Component; //最上面這個(gè)注解 就相當(dāng)于之前xml中的bean聲明 value就是當(dāng)時(shí)的id class 就是當(dāng)前類的路徑 //類上的注解 value可以不寫 不寫用默認(rèn)值 默認(rèn)值就是類的名字 //但如果你的類名名首個(gè)字母是大寫 默認(rèn)值會(huì)將首字母變成小寫 @Component(value = "userService") public class user { public String toString(){ return "我是user對(duì)象"; } }
注解上面的注釋我寫的還是比較認(rèn)真的 大家可以好好看一下
然后我們創(chuàng)建測(cè)試類來(lái)試一下效果
在src下編寫測(cè)試類 我這里直接叫text 參考代碼如下
import Bean.UserData.User; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class text { public static void main(String args[]) { ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml"); User user = context.getBean("userService", User.class); System.out.println(user); } }
運(yùn)行結(jié)果如下
也是成功輸出了user 帶出了他的toString
指定xml 去掃描 Bean下的UserData包 讀取了 所有有注解的文件 讀到了user 通過(guò)注解聲明的userService bean對(duì)象
到此這篇關(guān)于Spring使用注解方式實(shí)現(xiàn)創(chuàng)建對(duì)象的文章就介紹到這了,更多相關(guān)Spring創(chuàng)建對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java實(shí)現(xiàn)發(fā)送郵件的示例代碼
這篇文章主要介紹了java如何實(shí)現(xiàn)發(fā)送郵件,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07Java項(xiàng)目開發(fā)中實(shí)現(xiàn)分頁(yè)的三種方式總結(jié)
這篇文章主要給大家介紹了關(guān)于Java項(xiàng)目開發(fā)中實(shí)現(xiàn)分頁(yè)的三種方式,通過(guò)這一篇文章可以很快的學(xué)會(huì)java分頁(yè)功能,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02Java基于反射機(jī)制實(shí)現(xiàn)全部注解獲取的方法示例
這篇文章主要介紹了Java基于反射機(jī)制實(shí)現(xiàn)全部注解獲取的方法,結(jié)合實(shí)例形式分析了java反射機(jī)制獲取注解的具體實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2019-09-09IDEA中的pom.xml文件無(wú)法識(shí)別問(wèn)題及解決
這篇文章主要介紹了IDEA中的pom.xml文件無(wú)法識(shí)別問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Java8 Stream對(duì)兩個(gè) List 遍歷匹配數(shù)據(jù)的優(yōu)化處理操作
這篇文章主要介紹了Java8 Stream對(duì)兩個(gè) List 遍歷匹配數(shù)據(jù)的優(yōu)化處理操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08gRPC在Java中的實(shí)現(xiàn)與應(yīng)用詳解
gRPC是由Google開發(fā)的高性能、開源的通用遠(yuǎn)程過(guò)程調(diào)用(RPC)框架,本文將詳細(xì)介紹如何在Java中使用gRPC,包括服務(wù)定義、服務(wù)器端實(shí)現(xiàn)、客戶端調(diào)用以及一些高級(jí)特性,我們將通過(guò)代碼示例來(lái)幫助理解gRPC的工作原理,需要的朋友可以參考下2024-06-06IDEA配置JRebel實(shí)現(xiàn)熱部署的方法
這篇文章主要介紹了IDEA配置JRebel實(shí)現(xiàn)熱部署的方法,本文給大家介紹的非常想詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01