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

Java中Spring的創(chuàng)建和使用詳解

 更新時間:2023年08月03日 10:28:11   作者:M??? ??.  
這篇文章主要介紹了Java中Spring的創(chuàng)建和使用詳解,Spring 是?個包含了眾多?具?法的 IoC 容器,既然是容器那么 它就具備兩個最基本的功能,將對象存儲到容器中,從容器中將對象取出來,需要的朋友可以參考下

Spring

Spring 是?個包含了眾多?具?法的 IoC 容器。

既然是容器那么 它就具備兩個最基本的功能:

  • 將對象存儲到容器(Spring)中;
  • 從容器中將對象取出來。

1.創(chuàng)建 Spring 項目

使? Maven ?式來創(chuàng)建?個 Spring 項?,創(chuàng)建 Spring 項?和 Servlet 類似,總共分為以下 3 步:

  1. 創(chuàng)建?個普通 Maven 項?。
  2. 添加 Spring 框架?持(spring-context、spring-beans)。
  3. 添加啟動類。

1.1 創(chuàng)建?個 Maven 項?

 1.2 添加 Spring 框架支持

在項?的 pom.xml 中添加 Spring 框架的?持,xml 配置如下:

<dependencies>
 <dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-context</artifactId>
 <version>5.2.3.RELEASE</version>
 </dependency>
 <dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-beans</artifactId>
 <version>5.2.3.RELEASE</version>
 </dependency>
</dependencies>

從上述配置中可以看出,添加的框架有 spring-context:spring 上下?,還有 spring-beans:管理對象的模塊。 寫入完成后記得刷新。

1.3 添加啟動類

最后在創(chuàng)建好的項? java ?件夾下創(chuàng)建?個啟動類,包含 main ?法即可: 、

2.存儲 Bean 對象

存儲 Bean 分為以下 2 步:

  1. 存儲 Bean 之前,先得有 Bean 才?,因此先要創(chuàng)建?個 Bean。
  2. 將創(chuàng)建的 Bean 注冊到 Spring 容器中。

具體實現(xiàn)如下。

2.1 創(chuàng)建 Bean

所謂的 Bean 就是 Java 語?中的?個普通對象,實現(xiàn)代碼如下:

 2.2 將 Bean 注冊到容器

在創(chuàng)建好的項?中添加 Spring 配置?件 spring-config.xml,將此?件放到 resources 的根?錄下,如下圖所示:

 Spring 配置?件的固定格式為以下內(nèi)容

<?xml version="1.0" encoding="UTF-8"?>
<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">
</beans>

接下來,再將 User 對象注冊到 Spring 中就可以,具體操作是在 <beans> 中添加如下配置:

    <beans>
        <bean id="user" class="org.example.User"></bean>
    </beans>

3.獲取并使用 Bean 對象

獲取并使? Bean 對象,分為以下 3 步:

  1. 得到 Spring 上下?對象,因為對象都交給 Spring 管理了,所以獲取對象要從 Spring 中獲取,那 么就得先得到 Spring 的上下?。
  2. 通過 Spring 上下?,獲取某?個指定的 Bean 對象。
  3. 使? Bean 對象。

如果取多個 Bean 的話重復以上第 2、3 步驟。

3.1 創(chuàng)建 Spring 上下?

Spring 上下?對象可使? ApplicationContext,實現(xiàn)代碼如下:

// 1.得到 Spring 的上下?對象,創(chuàng)建的時候需要配置 Spring 配置信息
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");

除了 ApplicationContext 之外,我們還可以使? BeanFactory 來作為 Spring 的上下?,如下代碼所示:

BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));

ApplicationContext 和 BeanFactory 效果是?樣的,ApplicationContext 屬于 BeanFactory 的? 類,它們的區(qū)別如下。

ApplicationContext VS BeanFactory(常??試題)

  • 繼承關系和功能??來說:Spring 容器有兩個頂級的接口:BeanFactory 和 ApplicationContext。其中 BeanFactory 提供了基礎的訪問容器的能?,? ApplicationContext 屬于 BeanFactory 的?類,它除了繼承了 BeanFactory 的所有功能之外,它還擁有獨特的特性, 還添加了對國際化?持、資源訪問?持、以及事件傳播等??的?持。
  • 從性能??來說:ApplicationContext 是?次性加載并初始化所有的 Bean 對象,? BeanFactory 是需要那個才去加載那個,因此更加輕量。

PS:? ClassPathXmlApplicationContext 屬于 ApplicationContext 的?類,擁有 ApplicationContext 的所有功能,是通過 xml 的配置來獲取所有的 Bean 容器的。

3.2 獲取指定的 Bean 對象

// 2.加載某個 bean
User user = (User) context.getBean("user");

3.2.1 注意事項

Bean 的 Id 要??對應,如下圖所示:

3.2.2 getBean ?法的更多?法 

getBean() ?法有很多種重載?法,我們也可以使?其他?式來獲取 Bean 對象,?如以下這兩種: 根據(jù)類型獲取 Bean:

User user1 = context.getBean(User.class);

或以下這種,名稱 + 類型獲取 Bean:

User user2 = context.getBean("user",User.class);

?者的區(qū)別:當有?個類型被重復注冊到 spring-config.xml 中時,只能使?根據(jù)名稱獲取了,?如以下程序:

以上場景就會導致程序報錯,如下圖所示:

 3.3 使用 Bean

public class App {
 public static void main(String[] args) {
 // 1.得到 Spring 上下?對象
 ApplicationContext context =
 new ClassPathXmlApplicationContext("spring-config.xml");
 // 2.加載某個 bean
 User user = (User) context.getBean("user");
 // 3.調(diào)?相應的?法
 System.out.println(user.sayHi("Java"));
 }
}

4.總結(jié)

1. 操作容器之前,先要有容器,所以先要得到容器。

2. 存對象         

a. 創(chuàng)建 Bean(普通類)。         

b. 將 Bean 注冊(配置)到 spring-confing.xml 中。

3. 取對象         

a. 得到 Spring 上下?,并讀取到 Spring 的配置?件。         

b. 獲取某?個 Bean 對象。         

c. 使? Bean 對象。 操作流程如下圖所示:

到此這篇關于Java中Spring的創(chuàng)建和使用詳解的文章就介紹到這了,更多相關Spring的創(chuàng)建和使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Maven繼承父工程時的relativePath標簽解析用法小結(jié)

    Maven繼承父工程時的relativePath標簽解析用法小結(jié)

    relativePath 的作用是為了找到父級工程的pom.xml,本文主要介紹了Maven繼承父工程時的relativePath標簽解析用法小結(jié),具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Java簡單實現(xiàn)銀行ATM系統(tǒng)

    Java簡單實現(xiàn)銀行ATM系統(tǒng)

    這篇文章主要為大家詳細介紹了Java簡單實現(xiàn)銀行ATM系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • SpringBoot @Retryable注解使用

    SpringBoot @Retryable注解使用

    SpringBoot提供的@Retryable注解可以方便地實現(xiàn)方法的重試機制,可以在不侵入原有邏輯代碼的方式下,優(yōu)雅地實現(xiàn)重處理功能
    2024-12-12
  • 詳解Spring 中如何控制2個bean中的初始化順序

    詳解Spring 中如何控制2個bean中的初始化順序

    本篇文章主要介紹了Spring 中如何控制2個bean中的初始化順序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • springboot 微信授權網(wǎng)頁登錄操作流程

    springboot 微信授權網(wǎng)頁登錄操作流程

    這篇文章主要介紹了springboot 微信授權網(wǎng)頁登錄操作流程,本文通過實例圖文相結(jié)合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Java?split方法使用超詳細講解

    Java?split方法使用超詳細講解

    這篇文章主要給大家介紹了關于Java?split方法使用的相關資料,Java中的我們可以利用split把字符串按照指定的分割符進行分割,然后返回字符串數(shù)組,需要的朋友可以參考下
    2023-10-10
  • Spring中的@ConditionalOnProperty注解詳解

    Spring中的@ConditionalOnProperty注解詳解

    這篇文章主要介紹了Spring中的@ConditionalOnProperty注解詳解,常見的@Conditionalxxx開頭的注解我們稱之為條件注解,常見的條件注解有,簡單來講,一般是在配置類上或者是@Bean修飾的方法上,添加此注解表示一個類是否要被Spring上下文加載,需要的朋友可以參考下
    2024-01-01
  • Java面試之SQL語句題經(jīng)典案例

    Java面試之SQL語句題經(jīng)典案例

    本文詳細討論了如何將行數(shù)據(jù)轉(zhuǎn)化為列數(shù)據(jù),并提供了多種SQL查詢練習題,包括查詢特定條件的學生信息、課程成績比較、學生成績排名等,文章還解釋了在SQL中使用Union、UnionAll和pivot的方法,以及如何處理復雜的SQL查詢問題,需要的朋友可以參考下
    2024-10-10
  • Java中使用Java?Mail實現(xiàn)郵件服務功能示例

    Java中使用Java?Mail實現(xiàn)郵件服務功能示例

    這篇文章主要介紹了Java中使用Java?Mail實現(xiàn)郵件服務功能的相關資料,文章還提供了一個發(fā)送郵件的示例代碼,包括創(chuàng)建參數(shù)類、郵件類和執(zhí)行結(jié)果,需要的朋友可以參考下
    2025-01-01
  • IDEA如何添加配置文件到classpath中

    IDEA如何添加配置文件到classpath中

    這篇文章主要介紹了IDEA如何添加配置文件到classpath中,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09

最新評論

垦利县| 壶关县| 曲松县| 金山区| 滁州市| 桐庐县| 鄂州市| 股票| 上栗县| 丹阳市| 嘉定区| 新泰市| 合水县| 花莲市| 怀柔区| 海丰县| 佛山市| 根河市| 剑河县| 友谊县| 库尔勒市| 余姚市| 吴旗县| 雷波县| 绵竹市| 枣强县| 安陆市| 疏附县| 临桂县| 海林市| 湖南省| 临邑县| 金山区| 尉氏县| 永兴县| 平定县| 建德市| 厦门市| 仙桃市| 山丹县| 大新县|