最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

然后 我們來(lái)代碼走一下

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

然后 需要做注解方式的話(huà) 你需要多引入一個(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開(kāi)啟掃描 spring 如果你想用注解 一定要把包的 項(xiàng)目掃描打開(kāi)
不然他是找不到注解的

那么 這里 我們指定掃描的包就是 Bean下的UserData 由base-package屬性指定

然后 我們了解一下 創(chuàng)立類(lèi)對(duì)象的注解 有四個(gè)
@Component
@Service
@Controller
@Repository
他們都能實(shí)現(xiàn)創(chuàng)建對(duì)象這個(gè)功能

然后 我們?cè)赨serData包下創(chuàng)建一個(gè)user類(lèi)
參考代碼如下

package Bean.UserData;

import org.springframework.stereotype.Component;

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

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

然后我們創(chuàng)建測(cè)試類(lèi)來(lái)試一下效果

在src下編寫(xiě)測(cè)試類(lèi) 我這里直接叫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ì)象

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

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

實(shí)體類(lèi):

@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>

測(cè)試類(lèi):

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
以上三個(gè)注解和@Component作用相同

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

相關(guān)文章

  • MyBatis-Plus多表聯(lián)查(動(dòng)態(tài)查詢(xún))的項(xiàng)目實(shí)踐

    MyBatis-Plus多表聯(lián)查(動(dòng)態(tài)查詢(xún))的項(xiàng)目實(shí)踐

    本文主要介紹了MyBatis-Plus多表聯(lián)查(動(dòng)態(tài)查詢(xún))的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • java使用dom4j解析xml配置文件實(shí)現(xiàn)抽象工廠(chǎng)反射示例

    java使用dom4j解析xml配置文件實(shí)現(xiàn)抽象工廠(chǎng)反射示例

    本文主要介紹了java使用dom4j讀取配置文件實(shí)現(xiàn)抽象工廠(chǎng)和反射的示例,在Java中也可以同Donet一樣,將差異配置在配置文件里面。另外,我們采用下面的方式實(shí)現(xiàn),將會(huì)更加便捷
    2014-01-01
  • JAVA操作elastic?search的詳細(xì)過(guò)程

    JAVA操作elastic?search的詳細(xì)過(guò)程

    Elasticsearch?Rest?High?Level?Client?是?Elasticsearch?官方提供的一個(gè)?Java?客戶(hù)端庫(kù),用于與?Elasticsearch?進(jìn)行交互,本文介紹JAVA操作elastic?search的詳細(xì)過(guò)程,感興趣的朋友一起看看吧
    2024-08-08
  • java 中的static關(guān)鍵字和final關(guān)鍵字的不同之處

    java 中的static關(guān)鍵字和final關(guān)鍵字的不同之處

    java 中的static關(guān)鍵字和final關(guān)鍵字的不同之處,需要的朋友可以參考一下
    2013-03-03
  • java文件操作之Path,Paths,Files

    java文件操作之Path,Paths,Files

    Java7中文件IO發(fā)生了很大的變化,專(zhuān)門(mén)引入了很多新的類(lèi),下面給大家分享用Files作為一個(gè)操作類(lèi)的實(shí)例,需要的朋友可以參考
    2017-04-04
  • Java Swagger技術(shù)使用指南

    Java Swagger技術(shù)使用指南

    Swagger 是一個(gè)規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化 RESTful 風(fēng)格的 Web 服務(wù)??傮w目標(biāo)是使客戶(hù)端和文件系統(tǒng)作為服務(wù)器以同樣的速度來(lái)更新。文件的方法,參數(shù)和模型緊密集成到服務(wù)器端的代碼,允許API來(lái)始終保持同步
    2021-09-09
  • Java聊天室之實(shí)現(xiàn)獲取Socket功能

    Java聊天室之實(shí)現(xiàn)獲取Socket功能

    這篇文章主要為大家詳細(xì)介紹了Java簡(jiǎn)易聊天室之實(shí)現(xiàn)獲取遠(yuǎn)程服務(wù)器和客戶(hù)機(jī)的IP地址和端口號(hào)功能,文中的示例代碼講解詳細(xì),需要的可以了解一下
    2022-10-10
  • Josephus環(huán)的四種解法(約瑟夫環(huán))基于java詳解

    Josephus環(huán)的四種解法(約瑟夫環(huán))基于java詳解

    這篇文章主要介紹了Josephus環(huán)的四種解法(約瑟夫環(huán))基于java詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Spring?Boot整合Kafka教程詳解

    Spring?Boot整合Kafka教程詳解

    這篇文章主要為大家介紹了Spring?Boot整合Kafka教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Java @Transactional與synchronized使用的問(wèn)題

    Java @Transactional與synchronized使用的問(wèn)題

    這篇文章主要介紹了Java @Transactional與synchronized使用的問(wèn)題,了解內(nèi)部原理是為了幫助我們做擴(kuò)展,同時(shí)也是驗(yàn)證了一個(gè)人的學(xué)習(xí)能力,如果你想讓自己的職業(yè)道路更上一層樓,這些底層的東西你是必須要會(huì)的
    2023-01-01

最新評(píng)論

濮阳市| 陵川县| 深泽县| 包头市| 扎兰屯市| 镇远县| 禹州市| 开原市| 新营市| 民和| 上犹县| 厦门市| 辉县市| 本溪市| 白山市| 额济纳旗| 昔阳县| 四会市| 盐津县| 江山市| 西丰县| 兴海县| 文山县| 手机| 莎车县| 肥城市| 中卫市| 类乌齐县| 宝兴县| 黄陵县| 宿松县| 织金县| 应用必备| 望谟县| 赞皇县| 镇雄县| 房产| 翁牛特旗| 九台市| 澄江县| 莱西市|