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

一文掌握Spring的創(chuàng)建與使用

 更新時(shí)間:2023年04月19日 10:48:10   作者:渴望力量的土狗  
這篇文章詳細(xì)介紹了spring的創(chuàng)建與使用,文章中有詳細(xì)的代碼示例和圖片介紹,對(duì)學(xué)習(xí)有一定的而參考價(jià)值,需要的同學(xué)可以參考一下

Spring的創(chuàng)建

Spring的創(chuàng)建分為3個(gè)步驟:

1、創(chuàng)建一個(gè)Maven項(xiàng)目

2、添加Spring框架支持(spring-context,spring-beans)

3、添加啟動(dòng)類(lèi)

1、創(chuàng)建Maven項(xiàng)目 

 創(chuàng)建完成后進(jìn)行spring框架的添加

2、添加Spring框架支持(spring-context,spring-beans) 

在pom.xml中添加Spring的框架支持:

打開(kāi)Maven中央倉(cāng)庫(kù):搜索Spring:

點(diǎn)開(kāi)Spring Context選擇一個(gè)5.x版本

 復(fù)制依賴(lài)到pom.xml中

 下載完就不再爆紅

然后我們引入spring-beans依賴(lài):(同樣的步驟)

這是引入的依賴(lài):

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.20</version>
        </dependency>
 
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.3.20</version>
        </dependency>
 
 
    </dependencies>

其中spring-context是spring上下文,spring-beans是管理對(duì)象的模塊。

 這一塊出現(xiàn)這樣就說(shuō)明都引入成功了。 

3、添加啟動(dòng)類(lèi) 

啟動(dòng)類(lèi)就和平時(shí)創(chuàng)建一個(gè)普通類(lèi)一樣:

public class App {
    public static void main(String[] args) {
        System.out.println("Hello Spring");
    }
}

啟動(dòng)類(lèi)用來(lái)測(cè)試后面的代碼。 

至此一個(gè)Spring項(xiàng)目就創(chuàng)建完成了。再來(lái)看看怎么使用Spring項(xiàng)目

Spring的使用 (Bean對(duì)象的存取及使用)

Bean對(duì)象的存儲(chǔ) 

1、添加Spring的配置文件

在resources目錄下創(chuàng)建spring-config.xml文件:

添加下述內(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>

建議把這個(gè)配置保存在碼云,用的時(shí)候直接去復(fù)制即可 

2、創(chuàng)建Bean對(duì)象 

新建一個(gè)類(lèi)即可。

3、將Bean注冊(cè)到容器中(在配置文件中進(jìn)行配置) 

  <bean id="user" class="com.spring.demo.Bean.User"></bean>

Bean對(duì)象的獲取 

Bean對(duì)象的獲取要2個(gè)步驟:

1、得到Spring上下文(對(duì)象都交給Spring了,所以獲取的時(shí)候要下獲取到Spring的上下文) 

2、通過(guò)Spring上下文獲取指定Bean對(duì)象

1、得到Spring上下文(對(duì)象都交給Spring了,所以獲取的時(shí)候要下獲取到Spring的上下文)  

使用ApplicationContext來(lái)獲取對(duì)象 

1、得到Spring上下文

//獲取Spring上下文
ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");

2、獲取指定Bean對(duì)象 

//獲取指定Bean對(duì)象
User user = (User)context.getBean("user");

注意: 

這是這個(gè)對(duì)象就可以進(jìn)行使用了。

這樣我們就可以不用new對(duì)象而能夠使用對(duì)象了。 

除了使用 ApplicationContext來(lái)獲取對(duì)象外,我們還可以使用BeanFactory來(lái)獲取對(duì)象

使用BeanFactory來(lái)獲取對(duì)象 

public static void main(String[] args) {
        //獲取Spring上下文
        BeanFactory beanFactory=new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
        //獲取Bean對(duì)象
        User user= (User) beanFactory.getBean("user");
        //使用bean
        user.sayHi();
    }

寫(xiě)到這里就有個(gè)面試題了:

ApplicationContext和BeanFactory的區(qū)別是什么 

相同點(diǎn):都可以從IoC容器當(dāng)中獲取bean。

不同點(diǎn) :

從繼承關(guān)系和功能方面:ApplicationContext繼承于BeanFactory。BeanFactory只提供了最基礎(chǔ)的訪(fǎng)問(wèn)bean的方法,而ApplicationContext除了擁有BeanFactory以外,還擁有一些其他的機(jī)制,例如:支持國(guó)際化,資源訪(fǎng)問(wèn),事件傳播等等

從性能方面: ApplicationContext 是?次性加載并初始化所有的 Bean 對(duì)象,?BeanFactory 是需要那個(gè)才去加載那個(gè),因此更加輕量(ApplicationContext采用的是"餓加載"的方式來(lái)進(jìn)行加載的。而B(niǎo)eanFactory采用的是"懶加載"的方式來(lái)進(jìn)行加載的。)

關(guān)于getBean()的更多用法 

1、根據(jù)bean的id獲取bean 

User user = (User)context.getBean("user");

user是該bean的id,且這個(gè)id只能存在一個(gè),Spring容器中不能存在多個(gè)名稱(chēng)為user的bean 

2、根據(jù)bean的類(lèi)型獲取bean 

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

這種類(lèi)型的好處是不用進(jìn)行類(lèi)型的強(qiáng)轉(zhuǎn),但是這個(gè)在出現(xiàn)容器中同一個(gè)類(lèi)有多個(gè)對(duì)象注入的時(shí)候就會(huì)報(bào)錯(cuò)。因?yàn)椴荒艽_定是哪個(gè)對(duì)象。

3、根據(jù)bean的id和bean的類(lèi)型獲取bean(推薦使用) 

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

這種寫(xiě)法既可以不用強(qiáng)制類(lèi)型轉(zhuǎn)換,也能夠準(zhǔn)確的獲取到指定的bean對(duì)象,推薦使用這種方式。 

以上就是一文掌握Spring的創(chuàng)建與使用的詳細(xì)內(nèi)容,更多關(guān)于Spring的創(chuàng)建與使用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論