亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java?spring?通過注解方式創(chuàng)建對象的示例詳解

 更新時間:2023年02月08日 10:29:47   作者:-耿瑞-  
這篇文章主要介紹了java?spring?通過注解方式創(chuàng)建對象,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

java spring 通過注解方式創(chuàng)建對象

首先 我們要搞清楚一個基礎(chǔ)概念
什么是注解?

注解
可以說是代碼里的一些特殊標(biāo)記。
格式是 @() 里面可以有 屬性=屬性的值 可以有多個屬性值 多屬性值之間 用逗號隔開
注解 可以加載很多東西上面 例如 方法上面 屬性上面 還可以在類上面
而 注解方式的目的 或者好處 在于簡化xml的配置操作

然后 我們來代碼走一下

我們創(chuàng)建一個java項(xiàng)目 引入spring 的幾個基礎(chǔ)包

然后 需要做注解方式的話 你需要多引入一個 JAR包

aop包中有一些封裝 為注解做了一些功能

然后我們在src下創(chuàng)建 一個包 叫 Bean 在 Bean包下再創(chuàng)建一個包 叫 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)立類對象的注解 有四個
@Component
@Service
@Controller
@Repository
他們都能實(shí)現(xiàn)創(chuàng)建對象這個功能

然后 我們在UserData包下創(chuàng)建一個user類
參考代碼如下

package Bean.UserData;

import org.springframework.stereotype.Component;

//最上面這個注解  就相當(dāng)于之前xml中的bean聲明  value就是當(dāng)時的id class  就是當(dāng)前類的路徑
//類上的注解  value可以不寫  不寫用默認(rèn)值  默認(rèn)值就是類的名字
//但如果你的類名名首個字母是大寫 默認(rèn)值會將首字母變成小寫
@Component(value = "userService")
public class user {
    public String toString(){
        return "我是user對象";
    }
}

注解上面的注釋我寫的還是比較認(rèn)真的 大家可以好好看一下

然后我們創(chuàng)建測試類來試一下效果

在src下編寫測試類 我這里直接叫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 通過注解聲明的userService bean對象

補(bǔ)充:Spring注解開發(fā)(創(chuàng)建對象)

@Component:用于創(chuàng)建對象
@Component:用于把當(dāng)前類存入Spring容器中
value:用于指定bean的id,不寫時,默認(rèn)是當(dāng)前類名的首字母小寫
@Component(value=“accountService”)

實(shí)體類:

@Component(value="accountService")
public class AccountServiceImpl implements AccountService{
    public void saveAccount() {
        System.out.println("sevice方法被執(zhí)行了....");
    }
}

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.xsd">
    <!--用于指定要掃描的包-->
    <context:component-scan base-package="com.hh">
    </context:component-scan>
</beans>

測試類:

public class Client {
    public static void main(String[] args) {
        ApplicationContext context =
                new ClassPathXmlApplicationContext("bean.xml");
        AccountService service =
                context.getBean("accountService", AccountService.class);
        System.out.println(service);
    }
}

@Repository
@Service
@Controller
以上三個注解和@Component作用相同

到此這篇關(guān)于java spring 通過注解方式創(chuàng)建對象的文章就介紹到這了,更多相關(guān)spring注解創(chuàng)建對象內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot異步任務(wù)使用方法詳解

    SpringBoot異步任務(wù)使用方法詳解

    這篇文章主要介紹了SpringBoot異步任務(wù)使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • spring的TransactionalEventListener事務(wù)感知源碼解析

    spring的TransactionalEventListener事務(wù)感知源碼解析

    這篇文章主要為大家介紹了spring的TransactionalEventListener事務(wù)感知源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Java文件讀寫IO/NIO及性能比較詳細(xì)代碼及總結(jié)

    Java文件讀寫IO/NIO及性能比較詳細(xì)代碼及總結(jié)

    這篇文章主要介紹了Java文件讀寫IO/NIO及性能比較詳細(xì)代碼及總結(jié),具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • java基于雙向環(huán)形鏈表解決丟手帕問題的方法示例

    java基于雙向環(huán)形鏈表解決丟手帕問題的方法示例

    這篇文章主要介紹了java基于雙向環(huán)形鏈表解決丟手帕問題的方法,簡單描述了丟手帕問題,并結(jié)合實(shí)例形式給出了Java基于雙向環(huán)形鏈表解決丟手帕問題的步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-11-11
  • Java編程時間日期API實(shí)例解析

    Java編程時間日期API實(shí)例解析

    本文主要介紹了Java編程時間日期API實(shí)例解析的相關(guān)內(nèi)容,分享了一則實(shí)例,具有一定借鑒價值,需要的朋友可以參考下。
    2018-01-01
  • Java多線程通訊之wait,notify的區(qū)別詳解

    Java多線程通訊之wait,notify的區(qū)別詳解

    這篇文章主要介紹了Java多線程通訊之wait,notify的區(qū)別詳解,非常不錯,具有一定的參考借鑒借鑒價值,需要的朋友可以參考下
    2018-07-07
  • java實(shí)現(xiàn)文件夾解壓和壓縮

    java實(shí)現(xiàn)文件夾解壓和壓縮

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)文件夾解壓和壓縮,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Java處理XSS漏洞的四種方法小結(jié)

    Java處理XSS漏洞的四種方法小結(jié)

    本文主要介紹了Java處理XSS漏洞的四種方法小結(jié),包含使用HTML實(shí)體編碼、使用內(nèi)容安全策略(CSP)、使用框架內(nèi)置的XSS防護(hù)和自定義過濾器等方法,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • 詳解java中的synchronized關(guān)鍵字

    詳解java中的synchronized關(guān)鍵字

    這篇文章主要介紹了java中的synchronized關(guān)鍵字,可用來給對象和方法或者代碼塊加鎖,當(dāng)它鎖定一個方法或者一個代碼塊的時候,同一時刻最多只有一個線程執(zhí)行這段代碼,感興趣的小伙伴們可以參考一下
    2015-12-12
  • java?stream?distinct()如何按一個或多個指定對象字段進(jìn)行去重

    java?stream?distinct()如何按一個或多個指定對象字段進(jìn)行去重

    這篇文章主要介紹了java?stream?distinct()如何按一個或多個指定對象字段進(jìn)行去重問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評論