国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

一文道破將bean注入到Spring中的幾種方式

這篇具有很好參考價(jià)值的文章主要介紹了一文道破將bean注入到Spring中的幾種方式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言:

前兩天有學(xué)妹問我如何將bean注入到Spring中,雖問題較簡單,但還是寫此文以告之。

在Java的Spring框架中,將bean注入到容器中是核心概念之一,這是實(shí)現(xiàn)依賴注入的基礎(chǔ)。Spring提供了多種方式來將bean注入到容器中。

寫此文,同時(shí)也希望這篇文章能幫助到各位路過的大佬。

一文道破將bean注入到Spring中的幾種方式,秋招總結(jié)&小白入坑Java,spring,java,后端

通過XML配置文件注入Bean

在早期版本的Spring中,XML配置是主要的配置方式。我們可以在XML文件中定義bean及其屬性。

舉個(gè)栗子:

我們現(xiàn)在有一個(gè)簡單的Person類:

public class Person {  
    private String name;  
    private int age;  
      
    // 此處1構(gòu)造方法、setter、getter省略  
}

我們可以創(chuàng)建一個(gè)Spring的XML配置文件(xiaoweiApplicationContext.xml),并在其中定義Person bean:

xml
<beans xmlns="http://www.springframework.org/schema/beans"  
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
       xsi:schemaLocation="http://www.springframework.org/schema/beans   
       http://www.springframework.org/schema/beans/spring-beans.xsd">  
      
    <bean id="person" class="com.example.Person">  
        <property name="name" value="John"/>  
        <property name="age" value="25"/>  
    </bean>  
</beans>

然后,我們可以使用ApplicationContext來加載這個(gè)配置文件,并獲取bean:

ApplicationContext context = new ClassPathXmlApplicationContext("xiaoweiApplicationContext.xml");  
Person person = (Person) context.getBean("person");

通過注解注入Bean

隨著Spring的發(fā)展,注解逐漸成為了主流的配置方式。通過使用@Component、@Service、@Repository和@Controller等注解,我們可以輕松地將bean注入到Spring容器中。

繼續(xù)使用上面的Person類,我們只需要在類上加上@Component注解:

@Component("person")  
public class Person {  
    // ... 類的其它代碼 ...  
}

然后,我們需要在Spring的配置中開啟組件掃描,以便Spring能夠自動(dòng)發(fā)現(xiàn)并注冊(cè)這些bean:

xml
<context:component-scan base-package="com.example"/>

或者如果我們使用Java配置:

@Configuration  
@ComponentScan(basePackages = "com.example")  
public class AppConfig { }

通過Java配置注入Bean

除了XML和注解,我們還可以使用Java類來配置和注入bean。這通常通過使用@Configuration和@Bean注解來完成。

創(chuàng)建一個(gè)Java配置類,并使用@Bean注解來定義Person bean:

@Configuration  
public class AppConfig {  
    @Bean(name = "person")  
    public Person person() {  
        Person person = new Person();  
        person.setName("John");  
        person.setAge(25);  
        return person;  
    }  
}

然后,我們可以使用AnnotationConfigApplicationContext來加載這個(gè)Java配置:

ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);  
Person person = (Person) context.getBean("person");

幾種配置對(duì)比

  • XML配置:雖然XML配置相對(duì)繁瑣(并不是一般的繁瑣,狗頭保命),但它提供了清晰的分離和配置的可視化。對(duì)于大型項(xiàng)目或需要復(fù)雜配置的場景,XML仍然是一個(gè)可行的選擇。然而,對(duì)于大多數(shù)現(xiàn)代應(yīng)用,包括公司的項(xiàng)目,XML配置可能顯得過于冗長。
  • 注解配置:注解提供了一種簡潔并且侵入性較小的方式來配置bean。通過使用注解,我們可以減少樣板代碼和XML文件的數(shù)量。這是現(xiàn)代Spring應(yīng)用中最常用的方法。
  • Java配置:Java配置提供了與XML相似的靈活性,但使用純Java代碼。這對(duì)于那些更喜歡編程方式而不是聲明式配置的人來說是一個(gè)好選擇。Java配置還允許你在配置中使用更強(qiáng)大的類型安全和重構(gòu)工具支持。

文章到這里就先結(jié)束了,感興趣的可以訂閱專欄哈,后續(xù)會(huì)繼續(xù)分享相關(guān)的知識(shí)點(diǎn)。

一文道破將bean注入到Spring中的幾種方式,秋招總結(jié)&amp;小白入坑Java,spring,java,后端文章來源地址http://www.zghlxwxcb.cn/news/detail-851612.html

到了這里,關(guān)于一文道破將bean注入到Spring中的幾種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 35、解釋一下spring支持的幾種bean的作用域

    singleton: 默認(rèn),每個(gè)容器中只有一個(gè)bean的實(shí)例,單例的模式由BeanFactory自身來維護(hù)。該對(duì)象的生命周期是與Spring IOC容器一致的 (但在第一次被注入時(shí)才會(huì)創(chuàng)建)。 prototype:為每一個(gè)bean請(qǐng)求提供一個(gè)實(shí)例。在每次注入時(shí)都會(huì)創(chuàng)建一個(gè)新的對(duì)象· request: bean被定義為在每個(gè)HTTP請(qǐng)求中

    2024年02月16日
    瀏覽(27)
  • JAVA開發(fā)(通過Apollo注入配置信息的幾種方式)

    JAVA開發(fā)(通過Apollo注入配置信息的幾種方式)

    在springCloud中有一個(gè)重要的組件就是配置中心,config:server,用于配置springboot中需要注入的各種配置項(xiàng)。但是現(xiàn)在發(fā)現(xiàn)越來越多的企業(yè)使用Apollo進(jìn)行集成。博主在開發(fā)中也是使用Apollo進(jìn)行配置。本文總結(jié)Apollo的的使用,集成到springboot,和注入方式等。 ? Apollo是攜程框架部門研

    2024年02月09日
    瀏覽(23)
  • 將Bean注入Spring容器的五種方式

    將Bean注入Spring容器的五種方式

    將bean放入Spring容器中有哪些方式? 我們知道平時(shí)在開發(fā)中使用Spring的時(shí)候,都是將對(duì)象交由Spring去管理,那么將一個(gè)對(duì)象加入到Spring容器中,有哪些方式呢,下面我就來總結(jié)一下 這種方式其實(shí)也是我們最常用的一種方式,@Configuration用來聲明一個(gè)配置類,然后使用 @Bean 注解

    2024年02月05日
    瀏覽(21)
  • 4.3---Spring框架之Spring中bean的注入方式---(深入版本)

    Spring基于xml注入bean的幾種方式: set()方法注入; 2.構(gòu)造器注入:①通過index設(shè)置參數(shù)的位置;②通過type設(shè)置參數(shù)類型; 靜態(tài)工廠注入; 實(shí)例工廠; Spring IOC注入方式用得最多的是(1)(2)種; 注意:通過Spring創(chuàng)建的對(duì)象默認(rèn)是單例的,如果需要?jiǎng)?chuàng)建多實(shí)例對(duì)象可以在標(biāo)簽后面添

    2023年04月10日
    瀏覽(20)
  • 一文道破Java中的深拷貝,淺拷貝,零拷貝

    一文道破Java中的深拷貝,淺拷貝,零拷貝

    在Java編寫代碼中,對(duì)象的拷貝是一個(gè)常見的操作。根據(jù)拷貝的層次和方式不同,可以分為深拷貝、淺拷貝和零拷貝。本篇文章我們將詳細(xì)介紹這三種拷貝方式的概念、實(shí)現(xiàn)方法以及使用場景,方便大佬學(xué)習(xí)及面試。 深拷貝是一種創(chuàng)建對(duì)象副本的方法,其中新對(duì)象與原始對(duì)象

    2024年02月04日
    瀏覽(22)
  • spring(1):基于XML獲取Bean對(duì)象以及各種依賴注入方式

    1.1 根據(jù)id獲取 1.2 根據(jù)類型獲取 1.3 根據(jù)id和類型獲取 注意: 當(dāng)根據(jù)類型獲取bean時(shí),要求IOC容器中指定類型的bean有且只能有一個(gè)。 例如以下XML文件,當(dāng)IOC容器中一共配置了兩個(gè),根據(jù)類型獲取時(shí)會(huì)拋出異常。 根據(jù)類型來獲取bean時(shí),在滿足bean唯一性的前提下,其實(shí)只是看:

    2024年01月25日
    瀏覽(56)
  • 一文帶你了解Spring中存入Bean和獲取Bean的方式

    一文帶你了解Spring中存入Bean和獲取Bean的方式

    上圖中就是五大類注解對(duì)應(yīng)的層,通過源碼可以看到其他四個(gè)注解都基于@Conponent Spring既然是一個(gè)包含眾多工具方法的IoC容器,它是一個(gè)控制反轉(zhuǎn)的容器,所以就需要將Bean對(duì)象存入到容器中,需要用的時(shí)候從容器中獲取Bean對(duì)象,下面我們來介紹下存入Bean對(duì)象。 配置了 Bean 的

    2024年02月16日
    瀏覽(28)
  • 【Spring】基于注解方式存取JavaBean:Spring有幾種注入方式?有什么區(qū)別?

    【Spring】基于注解方式存取JavaBean:Spring有幾種注入方式?有什么區(qū)別?

    ?Hello,我是小黃。眾所周知,Spring是一個(gè)開源的Java應(yīng)用程序框架,其中包括許多通過注解實(shí)現(xiàn)依賴注入的功能。Spring提供了多種注入方式,可以滿足不同的需求和場景。常見的注入方式包括構(gòu)造函數(shù)注入、Setter方法注入和屬性注入。不同的注入方式有不同的適用場景和優(yōu)缺

    2024年02月11日
    瀏覽(19)
  • spring boot 權(quán)限管理的幾種方式

    Spring Boot 提供了多種權(quán)限管理方式,以下是幾種常見的方法,以及相應(yīng)的示例: 基于角色的訪問控制(Role-Based Access Control,RBAC) 在基于角色的訪問控制中,權(quán)限分配給角色,然后將角色分配給用戶。這種方法簡化了權(quán)限管理,因?yàn)槟恍枰芾斫巧陀脩糁g的關(guān)系。 示

    2024年02月15日
    瀏覽(17)
  • 前端技術(shù)中的幾種居中方式

    1、使用margin:0px auto可以使盒子水平居中,但要設(shè)置寬度。 2、在父元素中使用text-align:center可以將子元素設(shè)置水平居中,但子元素必須為行內(nèi)元素或行內(nèi)塊元素。 3、使用絕對(duì)定位,父相子絕的原則,在子元素中設(shè)置left:50%和transform:translateX(-50%)??梢圆辉O(shè)置寬高。 ? ? ? 這里

    2024年02月04日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包