一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Java之Spring注解開發(fā)案例詳解

Java之Spring注解開發(fā)案例詳解

2021-10-25 12:41雪瀟瀟 Java教程

這篇文章主要介紹了Java之Spring注解開發(fā)案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

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

Java之Spring注解開發(fā)案例詳解

  • 使用注解需要導(dǎo)入context約束,增加注解的支持!
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?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è)包下的注解就會生效-->
    <context:component-scan base-package="com.example.springannotation" />
    <context:annotation-config></context:annotation-config>
    <!-- <bean id="cat" class="com.example.springannotation.dao.Cat"/>
    <bean id="people" class="com.example.springannotation.dao.People"/>-->
</beans>

注解的支持:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//@Component 等價(jià)于<bean id="pepople" class="com.example.springannotation.dao.People" />
@Component
public class People {
    @Autowired(required = false)
    @Value("1235") //相當(dāng)<property name="id " value="1235"/>
    private int id;
    @Autowired(required = false)
    private String name ="ming";
    
    @Value("qing") //相當(dāng)<property name="name " value="qing"/>
    public void setName(@Nullable String name) {
        this.name = name;
    }
}

衍生的注解
@Component有幾個(gè)衍生注解,我們在web開發(fā)中,會按照mvc三層架構(gòu)分層!

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

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

?
1
@Scope("singleton") //singleton:標(biāo)識單例模式,prototype:標(biāo)識原型模式 、request:標(biāo)識請求模式、session:標(biāo)識會話模式

xml 與注解:

  • xml更加萬能,適用于任何場合!維護(hù)簡單方便。注解不是自己類使用不了,維護(hù)相對復(fù)雜!

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

  • xml 用來管理bean;
  • 注解只負(fù)責(zé)完成屬性的注入;
  • 我們在使用的過程中,只需要注意一個(gè)問題:必須讓注解生效,就需要開啟注解的支持
?
1
2
3
<!--指定要掃描的包,這個(gè)包下的注解就會生效-->
    <context:component-scan base-package="com.example.springannotation" />
    <context:annotation-config></context:annotation-config>

JAVA的方式配置Spring

  • @Configuration 這個(gè)也會spring容器托管,注冊到容器中,因?yàn)樗緛砭褪且粋€(gè)Component,
  • @Configuration代表這是一個(gè)配置類,就和我們之前看的beans.xml
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// 配置類 代替 beans.xml
import com.example.springannotation.dao.Cat;
import com.example.springannotation.dao.People;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
 
@Configuration
@ComponentScan("com.example.springannotation")
@Import(WwConfig.class//引入第二個(gè)配置
public class AppConfig {
    //注朋一個(gè)bean 相當(dāng)于當(dāng)于我們之前寫的一個(gè)bean標(biāo)簽
    //這個(gè)方法的名字,就相當(dāng)于bean標(biāo)簽中的id屬性
    //這個(gè)方法的返回價(jià),就和當(dāng)了bean標(biāo)簽中的class屬性
    @Bean
    public People getPeople(){
        return new People();
    }
 
    @Bean
    public Cat getCat(){
        return new Cat();
    }
}
 
import org.springframework.context.annotation.Configuration;
@Configuration
public class WwConfig {
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//測試類
import com.example.springannotation.config.AppConfig;
import com.example.springannotation.dao.People;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
@SpringBootTest
class SpringannotationApplicationTests {
    @Test
    void contextLoads() {
        如果完全使用了配置類方式做,
        // 我們就只能通過 AnnotationConfig 上下文來獲取容器,通過配置類的class對象加載!
        ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
        People people = (People) context.getBean("getPeople");
        System.out.println(people.toString());
    }
}

到此這篇關(guān)于Java之Spring注解開發(fā)案例詳解的文章就介紹到這了,更多相關(guān)Java之Spring注解開發(fā)內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/weixin_45717907/article/details/119089957

延伸 · 閱讀

精彩推薦
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經(jīng)有好久沒有升過級了。升級完畢重啟之后,突然發(fā)現(xiàn)好多錯(cuò)誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程20個(gè)非常實(shí)用的Java程序代碼片段

    20個(gè)非常實(shí)用的Java程序代碼片段

    這篇文章主要為大家分享了20個(gè)非常實(shí)用的Java程序片段,對java開發(fā)項(xiàng)目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java8中Stream使用的一個(gè)注意事項(xiàng)

    Java8中Stream使用的一個(gè)注意事項(xiàng)

    最近在工作中發(fā)現(xiàn)了對于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個(gè)非常重要的注意點(diǎn),所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7472021-02-04
  • Java教程Java實(shí)現(xiàn)搶紅包功能

    Java實(shí)現(xiàn)搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)搶紅包功能,采用多線程模擬多人同時(shí)搶紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程xml與Java對象的轉(zhuǎn)換詳解

    xml與Java對象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
主站蜘蛛池模板: 日韩日b视频 | 2019nv天堂香蕉在线观看 | 日本护士厕所xxx | 国产成人精品视频午夜 | 日本免费精品视频 | 欧美成人影院免费观 | 精品推荐国产麻豆剧传媒 | 成人在线免费观看 | 亚洲欧美精品天堂久久综合一区 | 大胸被c出奶水嗷嗷叫 | 香港三级浴室女警官 | 草女人逼 | 国内精品久久久久影院中国 | 香蕉久久一区二区三区 | 国产91无毒不卡在线观看 | 欧美国产合集在线视频 | 国内精品久久久久影院男同志 | 黄 色 大 片 网站 | 国产成人h综合亚洲欧美在线 | 亚洲春黄在线观看 | 偷偷狠狠的日日高清完整视频 | 男人最爱看的网站 | 色婷婷在线视频 | 啪一啪日一日 | 美女福利视频网站 | 亚洲+欧美+国产+综合 | 国产免费色视频 | 好男人影视社区www在线观看 | 亚洲免费视频播放 | 成人免费影 | 亚洲精品第二页 | 九九热这里只有精品视频免费 | 精品91一区二区三区 | 四虎精品免费视频 | 精品视频手机在线观看免费 | 51国产午夜精品免费视频 | 欧美milk大超乳 | 日本免费三片在线播放 | 国内精品一区二区在线观看 | 男人的天堂在线观看视频不卡 | 日本bbwbbw|