内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

是Spring啊!-創(chuàng)新互聯(lián)

一.概念
    • spring概念

一個包含了眾多工具方法的 IoC 容器

目前創(chuàng)新互聯(lián)公司已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計、鶴山網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

okk~~分析一下這句話意思,眾多方法,IoC 是形容詞,容器是名詞 ->

眾多方法:比如一個類里有許多方法, 容器:存儲的東西 重點就是IoC是什么?

    • Ioc
2.1解釋

IoC ->Inversion of Control 控制反轉(zhuǎn) ->對象的生命周期 ->控制權(quán): 由程序猿 變?yōu)?Spring IoC

簡單來說 Java里的對象的創(chuàng)造和銷毀都是被程序猿掌控的, 但是IoC的話 就變了, 掌控這些的不是程序猿了,而是Spring

2.2 意義

所以,把對象的生命周期的控制權(quán)交出去了,有什么好處?

~解耦合!!!!

每個對象都要程序猿創(chuàng)建,如果1的創(chuàng)建需要2,2的創(chuàng)建需要3..... 那么當(dāng)代碼出現(xiàn)異常,76出現(xiàn)了bug - >前面的1到75就會都有問題產(chǎn)生 ->所以這個時候,好處顯而易見

~并且,對象的生命周期交給IoC維護, 作為程序猿無需關(guān)注

    • DI

其實IoC只是一個思想, 那么具體的實現(xiàn)其實是 DI

DI ->Dependency Injection 依賴注入

IoC DI 從不同的維度描述了同一件事 比如->我的計劃和實際操作(我要學(xué)會一門樂器->鋼琴十級了現(xiàn)在)


二.創(chuàng)建一個Spring項目 1.復(fù)雜的創(chuàng)建 1.1.創(chuàng)建 1.1.1創(chuàng)建一個maven項目 1.1.2添加spring配置文件

spring.xml的代碼

pom.xml

org.springframeworkspring-context5.2.3.RELEASEorg.springframeworkspring-beans5.2.3.RELEASE

1.1.3創(chuàng)建spring對象 1.1.4將對象配置到spring中 1.1.5得到spring對象 1.1.6獲取spring對象 1.1.7使用一下

1.2. 注意事項 1.3. ApplicationContext BeanFactory區(qū)別

ApplicationContext BeanFactory 區(qū)別:

* 相同:

都可以實現(xiàn)從容器中獲取 bean, 都提供了 getBean的方法

* 不相同:

* 1.ApplicationContext 是 BeanFactory 的子類,

* BeanFactory只提供了基礎(chǔ)訪問 Bean的方法

* ApplicationContext 除了擁有 BeanFactory的所有功能外,還提供了更多的方法,對國際化的支持,資源訪問支持...

* 2.性能方面

* BeanFactory 按需加載 Bean

* ApplicationContext餓漢模式, 創(chuàng)建的時候所有 Bean都加載了(貌似是智能的,電腦空間夠,才行,不夠的話,還是按需加載)

2.簡單的創(chuàng)建 2.1創(chuàng)建 - 5大類注解
org.springframeworkspring-context5.2.3.RELEASEorg.springframeworkspring-beans5.2.3.RELEASE

2.1.2 5大類注解 2.1.2.1 5大類注解

@Controller 控制器 業(yè)務(wù)邏輯層

@Service 服務(wù) 服務(wù)層

@Repository 倉庫 持久層

@Configuration 配置 配置層

@Component 組件

2.1.2.2 5大類注解的意義

@Configuration ->@Controller 控制器 (前端參數(shù)的校驗) ->@Service(數(shù)據(jù)的組裝,接口的調(diào)用) ->@Repository(和數(shù)據(jù)庫進行交互)

可以讓代碼可讀性提高, 讓程序員快速知道當(dāng)前類的用途

比如 Java里的 @Override 看到就知道被標(biāo)注的方法重載了父類的方法

2.1.2.3 5大類注解的關(guān)系

其他四個類本身是屬于 @Component 的“?類”--看源碼

2.1.3 解釋

public static void main(String[] args) {
        String name1 = "user";
        String name2 = "USER";
        System.out.println(Introspector.decapitalize(name1));
        System.out.println(Introspector.decapitalize(name2));
    }

2.2創(chuàng)建-使用方法注解@Bean 2.2.1使用方法注解@Bean

2.2.2 重命名 Bean

設(shè)置 name 屬性給 Bean 對象進?重命名

2.2.3 注意事項

* Bean 的命名規(guī)則 :

* 當(dāng)沒有設(shè)置 name屬性時, 那么 bean的默認(rèn)名稱時方法名

* 通過重命名的 name屬性對應(yīng)值來獲取后, 只能用重命名, 不能再用方法名

name={} 可以省略


* Bean 的命名可以起多個名字 :

但是會有問題--同?類型多個 @Bean 報錯

* @Bean 將一個類型的對象注入多次

* 解決方案三個

* 1. 精確的描述 bean的名稱

* 2. 使用 @Resource設(shè)置 name的方法來重新命名注入對象 @Resource(name="user")

* 3. 使用 @Autowired+ @Qualifier來篩選 bean對象

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

名稱欄目:是Spring啊!-創(chuàng)新互聯(lián)
文章地址:http://www.rwnh.cn/article8/csdpop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、面包屑導(dǎo)航、服務(wù)器托管、外貿(mào)網(wǎng)站建設(shè)、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
山丹县| 珲春市| 新民市| 筠连县| 米林县| 景宁| 黔南| 六枝特区| 屯昌县| 哈密市| 兴业县| 青神县| 达州市| 元阳县| 赫章县| 大邑县| 台中县| 广西| 保靖县| 宜章县| 长武县| 巩留县| 崇义县| 阿鲁科尔沁旗| 延安市| 纳雍县| 宣化县| 天台县| 宁城县| 隆昌县| 建阳市| 高唐县| 昆明市| 四子王旗| 海伦市| 扎兰屯市| 丰镇市| 洛川县| 达孜县| 鄂温| 肥乡县|