欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

Spring

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

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

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

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

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

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

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

 1.2 添加 Spring 框架支持

在項(xiàng)?的 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:管理對(duì)象的模塊。 寫入完成后記得刷新。

1.3 添加啟動(dòng)類

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

2.存儲(chǔ) Bean 對(duì)象

存儲(chǔ) Bean 分為以下 2 步:

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

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

2.1 創(chuàng)建 Bean

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

 2.2 將 Bean 注冊(cè)到容器

在創(chuàng)建好的項(xià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 對(duì)象注冊(cè)到 Spring 中就可以,具體操作是在 <beans> 中添加如下配置:

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

3.獲取并使用 Bean 對(duì)象

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

  1. 得到 Spring 上下?對(duì)象,因?yàn)閷?duì)象都交給 Spring 管理了,所以獲取對(duì)象要從 Spring 中獲取,那 么就得先得到 Spring 的上下?。
  2. 通過 Spring 上下?,獲取某?個(gè)指定的 Bean 對(duì)象。
  3. 使? Bean 對(duì)象。

如果取多個(gè) Bean 的話重復(fù)以上第 2、3 步驟。

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

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

// 1.得到 Spring 的上下?對(duì)象,創(chuàng)建的時(shí)候需要配置 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(常??試題)

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

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

3.2 獲取指定的 Bean 對(duì)象

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

3.2.1 注意事項(xiàng)

Bean 的 Id 要??對(duì)應(yīng),如下圖所示:

3.2.2 getBean ?法的更多?法 

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

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

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

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

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

以上場(chǎng)景就會(huì)導(dǎo)致程序報(bào)錯(cuò),如下圖所示:

 3.3 使用 Bean

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

4.總結(jié)

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

2. 存對(duì)象         

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

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

3. 取對(duì)象         

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

b. 獲取某?個(gè) Bean 對(duì)象。         

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

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

相關(guān)文章

最新評(píng)論