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

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

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

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

簡單實體類

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注解將實體類交給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的方式實現(xiàn)配置,需要使用AnnotationConfigApplicationContext類通過傳入配置類的字節(jié)碼對象獲取Spring配置上下文,在此上下文中可以獲取被@Bean標(biāo)簽標(biāo)記的Bean對象,傳入的參數(shù)為被@Bean標(biāo)簽標(biāo)記的方法的方法名。

測試結(jié)果

在這里插入圖片描述

脫離xml用JavaConfig配置Spring

情況一

配置類中類名添加 @Configuration 注解,同時提供一個方法返回一個Bean實例,且這個方法添加注解 @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 //返回一個實例,注冊為一個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);
    }
}

測試類運行結(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);
    }
}

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

User{name='Juyss'}

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

相關(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異常處理器的使用與添加員工功能實現(xiàn)流程介紹

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

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

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

    數(shù)據(jù)庫連接池負(fù)責(zé)分配、管理和釋放數(shù)據(jù)庫連接,釋放空閑時間超過最大空閑時間的數(shù)據(jù)庫連接來避免因為沒有釋放數(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í)行這三種操作,并通過代碼示例展示最佳實踐,感興趣的朋友一起看看吧
    2024-08-08
  • 基于Java匯總Spock框架Mock靜態(tài)資源經(jīng)驗

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

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

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

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

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

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

最新評論

稷山县| 修文县| 朝阳区| 灵璧县| 罗甸县| 宁蒗| 武宁县| 桓台县| 双辽市| 天全县| 凯里市| 琼结县| 保靖县| 龙岩市| 平原县| 左权县| 东至县| 怀集县| 壤塘县| 连州市| 大埔县| 玉屏| 日喀则市| 南溪县| 湖南省| 黄石市| 隆尧县| 永嘉县| 桑日县| 龙里县| 神农架林区| 德格县| 同德县| 泽库县| 教育| 贞丰县| 乐清市| 垦利县| 安龙县| 乃东县| 绥芬河市|