欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java?Spring的使用注解開(kāi)發(fā)詳解

 更新時(shí)間:2022年01月14日 16:37:24   作者:工一木子  
這篇文章主要為大家介紹了Java?Spring注解開(kāi)發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助

使用注解開(kāi)發(fā)

在Spring4之后,要使用注解開(kāi)發(fā),必須要保證aop的包導(dǎo)入了

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-rE1i3tOz-1641624679925)(D:\study\學(xué)習(xí)筆記\spring學(xué)習(xí)\8、使用注解開(kāi)發(fā).assets\image-20220107085151943.png)]

使用注解需要導(dǎo)入context的約束,增加注解的支持

<?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
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd">
    <!--開(kāi)啟注解的支持-->
    <context:annotation-config/>
</beans>

1.bean

2.屬性如何注入

//等價(jià)于<bean id="user" class="com.gongyi.pojo.User"/>
//@Component組件
@Component
public class User {
    // 相當(dāng)于<property name="name" value="gongyi"/>
    @Value("gongyi")
    public String name;
    //@Value("muzi")
    public void setName(String name) {
        this.name = name;
    }
}

3.衍生的注解

@Component有幾個(gè)衍生注解,我們?cè)趙eb開(kāi)發(fā)中,會(huì)按照mvc三層架構(gòu)分層!

  • dao【@Repository】
  • service【@Service】
  • controller【@Controller】

這四個(gè)注解功能都是一樣的,都是代表將某個(gè)類注冊(cè)到spring中,裝配bean

4.自動(dòng)裝配

- Autowired:自動(dòng)裝配通過(guò)類型。名字
    如果Autowired不能唯一自動(dòng)裝配上屬性,則需要通過(guò) @Qualifier(value = "xxx")
- @Nullable 字段標(biāo)記了這個(gè)注解,說(shuō)明這個(gè)字段可以為null
- Resource:自動(dòng)裝配通過(guò)名字。類型

5.作用域

@Component
@Scope("singleton")
public class User {
    // 相當(dāng)于<property name="name" value="gongyi"/>
    @Value("gongyi")
    public String name;
    //@Value("muzi")
    public void setName(String name) {
        this.name = name;
    }
}

6.小結(jié)

xml與注解:

  • xml更加萬(wàn)能,適用于任何場(chǎng)合,維護(hù)簡(jiǎn)單方便
  • 注解 不是自己類使用不了(比如DataSource類),維護(hù)相對(duì)復(fù)雜

xml與注解最佳實(shí)踐:

  • xml用來(lái)管理bean
  • 注解只負(fù)責(zé)完成屬性的注入
  • 我們?cè)谑褂玫倪^(guò)程中,只需要注意一個(gè)問(wèn)題:必須讓注解生效,就需要開(kāi)啟注解的支持
<!--指定要掃描的包,這個(gè)包下的注解就會(huì)生效-->
<context:component-scan base-package="com.gongyi"/>
<!--開(kāi)啟注解的支持-->
<context:annotation-config/>

代碼show

代碼結(jié)構(gòu)圖:

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-3WibwIdo-1641624679928)(D:\study\學(xué)習(xí)筆記\spring學(xué)習(xí)\8、使用注解開(kāi)發(fā).assets\image-20220108144943769.png)]

1.新建一個(gè)模塊:

spring-06-anno

2.新建pojo包及類

//等價(jià)于<bean id="user" class="com.gongyi.pojo.User"/>
//@Component組件
@Component
@Scope("singleton")
public class User {
    // 相當(dāng)于<property name="name" value="gongyi"/>
    @Value("gongyi")
    public String name;
    //@Value("muzi")
    public void setName(String name) {
        this.name = name;
    }
}

3.新建dao包及類

@Repository
public class UserDao {
}

4.新建service包及類

@Service
public class UserService {
}

5.新建controller包及類

@Controller
public class UserController {
}

6.新建配置文件applicationContext.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
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd">
    <!--指定要掃描的包,這個(gè)包下的注解就會(huì)生效-->
    <context:component-scan base-package="com.gongyi"/>
    <!--開(kāi)啟注解的支持-->
    <context:annotation-config/>
</beans>

7.測(cè)試

public class MyTest {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        User user = (User) context.getBean("user");
        System.out.println(user.name);
    }
}

彩蛋

1.被spring托管的類在idea中的顯示

1)未被托管前

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-2CnadC1S-1641624679929)(D:\study\學(xué)習(xí)筆記\spring學(xué)習(xí)\8、使用注解開(kāi)發(fā).assets\image-20220107090929568.png)]

2)配置托管

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-kPZyzULu-1641624679931)(D:\study\學(xué)習(xí)筆記\spring學(xué)習(xí)\8、使用注解開(kāi)發(fā).assets\image-20220107090946348.png)]

3)托管后

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-wyf5xD9A-1641624679931)(D:\study\學(xué)習(xí)筆記\spring學(xué)習(xí)\8、使用注解開(kāi)發(fā).assets\image-20220107090959306.png)]

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Scala中如何中斷循環(huán)詳解

    Scala中如何中斷循環(huán)詳解

    在Scala中,可以使用break和continue語(yǔ)句來(lái)中斷循環(huán)。break語(yǔ)句可以在滿足某個(gè)條件時(shí)中斷循環(huán),而continue語(yǔ)句可以在滿足某個(gè)條件時(shí)跳過(guò)當(dāng)前循環(huán)迭代,直接執(zhí)行下一次迭代
    2023-04-04
  • 使用JAVA+Maven+TestNG框架實(shí)現(xiàn)超詳細(xì)Appium測(cè)試安卓真機(jī)教程

    使用JAVA+Maven+TestNG框架實(shí)現(xiàn)超詳細(xì)Appium測(cè)試安卓真機(jī)教程

    這篇文章主要介紹了使用JAVA+Maven+TestNG框架實(shí)現(xiàn)超詳細(xì)Appium測(cè)試安卓真機(jī)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • SpringBoot集成vue的開(kāi)發(fā)解決方案

    SpringBoot集成vue的開(kāi)發(fā)解決方案

    這篇文章主要介紹了SpringBoot集成vue的開(kāi)發(fā)解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Java Spring動(dòng)態(tài)生成Mysql存儲(chǔ)過(guò)程詳解

    Java Spring動(dòng)態(tài)生成Mysql存儲(chǔ)過(guò)程詳解

    這篇文章主要介紹了Java Spring動(dòng)態(tài)生成Mysql存儲(chǔ)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • spring boot與redis 實(shí)現(xiàn)session共享教程

    spring boot與redis 實(shí)現(xiàn)session共享教程

    這篇文章主要介紹了spring boot與redis 實(shí)現(xiàn)session共享教程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-04-04
  • Eclipse 項(xiàng)目出現(xiàn)錯(cuò)誤(紅色嘆號(hào))解決方法

    Eclipse 項(xiàng)目出現(xiàn)錯(cuò)誤(紅色嘆號(hào))解決方法

    這篇文章主要介紹了Eclipse 項(xiàng)目出現(xiàn)錯(cuò)誤(紅色嘆號(hào))解決方法的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • MyBatis-Plus動(dòng)態(tài)返回實(shí)體類示例詳解

    MyBatis-Plus動(dòng)態(tài)返回實(shí)體類示例詳解

    這篇文章主要為大家介紹了MyBatis-Plus動(dòng)態(tài)返回實(shí)體類示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Spring注解之@Value詳解

    Spring注解之@Value詳解

    這篇文章主要介紹了Spring注解之@Value詳解,@Value可以修飾屬性、方法、參數(shù)、注釋類型,編譯器會(huì)將?@Value注解的信息保留在?.class?文件中,并且能被虛擬機(jī)讀取,需要的朋友可以參考下
    2024-01-01
  • Java使用Socket簡(jiǎn)單通訊詳解

    Java使用Socket簡(jiǎn)單通訊詳解

    這篇文章主要介紹了Java使用Socket簡(jiǎn)單通訊詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • JSON.toJSONString()空字段不忽略修改的問(wèn)題

    JSON.toJSONString()空字段不忽略修改的問(wèn)題

    這篇文章主要介紹了JSON.toJSONString()空字段不忽略修改的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02

最新評(píng)論