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

使用JavaConfig代替xml實(shí)現(xiàn)Spring配置操作

 更新時間:2021年09月27日 11:18:54   作者:想飛的魚Stitch  
這篇文章主要介紹了使用JavaConfig代替xml實(shí)現(xiàn)Spring配置操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

JavaConfig代替xml實(shí)現(xiàn)Spring配置

簡單實(shí)體類

package indi.stitch.pojo;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class User {
    private String name;
    public String getName() {
        return name;
    }
    @Value("Stitch")
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                '}';
    }
}

@Component注解將實(shí)體類交給Spring容器托管,成為一個SpringBean組件

JavaConfig配置類

package indi.stitch.config;
import indi.stitch.pojo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan("indi.stitch.pojo")
public class BeanConfig {
    @Bean
    public User getUser() {
        return new User();
    }
}
  • @Configuration注解代表這個類為Bean的配置類,相當(dāng)于xml配置文件,本質(zhì)上也是一個Component
  • @ComponentScan注解限定了配置類的掃描范圍
  • @Bean表示被注冊的Bean,相當(dāng)于xml配置文件中的bean標(biāo)簽

測試類

import indi.stitch.config.BeanConfig;
import indi.stitch.pojo.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class MyTest {
    public static void main(String[] args) {
        ApplicationContext context = new AnnotationConfigApplicationContext(BeanConfig.class);
        User user = context.getBean("getUser", User.class);
        System.out.println(user.getName());
    }
}

使用JavaConfig的方式實(shí)現(xiàn)配置,需要使用AnnotationConfigApplicationContext類通過傳入配置類的字節(jié)碼對象獲取Spring配置上下文,在此上下文中可以獲取被@Bean標(biāo)簽標(biāo)記的Bean對象,傳入的參數(shù)為被@Bean標(biāo)簽標(biāo)記的方法的方法名。

測試結(jié)果

在這里插入圖片描述

脫離xml用JavaConfig配置Spring

情況一

配置類中類名添加 @Configuration 注解,同時提供一個方法返回一個Bean實(shí)例,且這個方法添加注解 @Bean ,就可以由Spring管理此對象

如下所示:

User.java( Bean )

public class User {
    private String name;
    public String getName() {
        return name;
    }
    @Value("Juyss") //注入name屬性的值
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                '}';
    }
}

SpringConfig.java( Java配置類 )

@Configuration //表明此類為Spring配置類
public class SpringConfig {
    @Bean //返回一個實(shí)例,注冊為一個Bean由Spring管理
    public User getUser(){
        return new User();
    }
}

ConfTest.java(測試類)

public class ConfTest {
    @Test
    public void Test(){
        ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
        User user = context.getBean("getUser", User.class); //第一個參數(shù)需與方法名一致
        System.out.println(user);
    }
}

測試類運(yùn)行結(jié)果得到:

User{name='Juyss'}

情況二

配置類中類名上添加注解@Configuration表明為Spring配置類,添加注解@ComponentScan("ClassPath")表明掃描的包路徑

然后在需要被Spring管理的Bean類名添加注解@Component

User.java ( Bean )

@Component //表明這個類注冊為Bean組件
public class User {
    private String name;
    public String getName() {
        return name;
    }
    @Value("Juyss") //注入name屬性的值
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                '}';
    }
}

SpringConfig.java ( Java配置類 )

@Configuration //表明為Spring配置類
@ComponentScan("com.juyss.pojo") //掃描此包下的所有已注冊的Bean
public class SpringConfig {
}
ConfTest.java ( 測試類 )
public class ConfTest {
    @Test
    public void Test(){
        ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
        User user = context.getBean("user", User.class); //第一個參數(shù)為類名首字母小寫
        System.out.println(user);
    }
}

測試類運(yùn)行結(jié)果得到:

User{name='Juyss'}

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot使用FastJson解析JSON數(shù)據(jù)的方法

    Spring Boot使用FastJson解析JSON數(shù)據(jù)的方法

    本篇文章主要介紹了Spring Boot使用FastJson解析JSON數(shù)據(jù)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • IDEA?隱藏DEBUG日志的解決方法

    IDEA?隱藏DEBUG日志的解決方法

    IDEA?打印太多的DEBUG日志,看起來很煩,有沒有辦法隱藏日志,網(wǎng)上找了一圈,沒有誰寫的靠譜的,下面小編給大家分享下IDEA?如何隱藏DEBUG日志,需要的朋友可以參考下
    2022-09-09
  • Java將Exception信息轉(zhuǎn)為String字符串的方法

    Java將Exception信息轉(zhuǎn)為String字符串的方法

    今天小編就為大家分享一篇Java將Exception信息轉(zhuǎn)為String字符串的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • SpringBoot異常處理器的使用與添加員工功能實(shí)現(xiàn)流程介紹

    SpringBoot異常處理器的使用與添加員工功能實(shí)現(xiàn)流程介紹

    設(shè)計完了登錄與退出功能還只完成了冰山一角,經(jīng)過測試發(fā)現(xiàn),我們以url的方式來訪問網(wǎng)站時可以直接跳過登陸頁面進(jìn)入后臺頁面,這樣顯然是不合理的,下面我們通過異常攔截器+boot來做到訪問限制,以及實(shí)現(xiàn)新增員工功能,制作全局異常處理器
    2022-10-10
  • java數(shù)據(jù)庫連接池新手入門一篇就夠了,太簡單了!

    java數(shù)據(jù)庫連接池新手入門一篇就夠了,太簡單了!

    數(shù)據(jù)庫連接池負(fù)責(zé)分配、管理和釋放數(shù)據(jù)庫連接,釋放空閑時間超過最大空閑時間的數(shù)據(jù)庫連接來避免因?yàn)闆]有釋放數(shù)據(jù)庫連接而引起的數(shù)據(jù)庫連接遺漏,這項技術(shù)能明顯提高對數(shù)據(jù)庫操作的性能
    2021-06-06
  • java自定義動態(tài)鏈接數(shù)據(jù)庫示例

    java自定義動態(tài)鏈接數(shù)據(jù)庫示例

    這篇文章主要介紹了java自定義動態(tài)鏈接數(shù)據(jù)庫示例,需要的朋友可以參考下
    2014-02-02
  • MyBatis查詢?、修改?、刪除操作示例代碼

    MyBatis查詢?、修改?、刪除操作示例代碼

    MyBatis?作為一款靈活的持久層框架,提供了直接編寫?SQL?語句的能力,避免了其他?ORM?框架可能帶來的性能和功能限制,本文介紹?MyBatis?中如何高效執(zhí)行這三種操作,并通過代碼示例展示最佳實(shí)踐,感興趣的朋友一起看看吧
    2024-08-08
  • 基于Java匯總Spock框架Mock靜態(tài)資源經(jīng)驗(yàn)

    基于Java匯總Spock框架Mock靜態(tài)資源經(jīng)驗(yàn)

    這篇文章主要介紹了基于Java匯總Spock框架Mock靜態(tài)資源經(jīng)驗(yàn),前面講了?Spock框架Mock對象、方法經(jīng)驗(yàn)總結(jié),今天分享一下Spock框架中Mock靜態(tài)資源的實(shí)踐經(jīng)驗(yàn)匯總。分成靜態(tài)資源和混合場景,需要的朋友可以參考一下
    2022-02-02
  • 深入理解java中Arrays.sort()的用法

    深入理解java中Arrays.sort()的用法

    這篇文章主要介紹了深入理解java中Arrays.sort()的用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Spring @Component自定義注解實(shí)現(xiàn)詳解

    Spring @Component自定義注解實(shí)現(xiàn)詳解

    @Component是一個元注解,意思是可以注解其他類注解,如@Controller @Service @Repository @Aspect。官方的原話是:帶此注解的類看為組件,當(dāng)使用基于注解的配置和類路徑掃描的時候,這些類就會被實(shí)例化
    2022-09-09

最新評論

浙江省| 大安市| 仲巴县| 尚志市| 清水河县| 广河县| 澄迈县| 乐都县| 南召县| 隆安县| 东乡族自治县| 石景山区| 乐山市| 交口县| 镇坪县| 名山县| 广平县| 札达县| 甘肃省| 敦煌市| 本溪市| 台南市| 乐亭县| 龙口市| 余姚市| 淳安县| 扎鲁特旗| 江山市| 察哈| 武清区| 永城市| 南昌县| 峨山| 太康县| 安远县| 遵化市| 通山县| 隆林| 巴楚县| 高陵县| 连山|