真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

一.概念
    • spring概念

一個(gè)包含了眾多工具方法的 IoC 容器

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

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

眾多方法:比如一個(gè)類里有許多方法, 容器:存儲的東西 重點(diǎn)就是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)交出去了,有什么好處?

~解耦合!!!!

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

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

    • DI

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

DI ->Dependency Injection 依賴注入

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


二.創(chuàng)建一個(gè)Spring項(xiàng)目 1.復(fù)雜的創(chuàng)建 1.1.創(chuàng)建 1.1.1創(chuàng)建一個(gè)maven項(xiàng)目 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. 注意事項(xiàng) 1.3. ApplicationContext BeanFactory區(qū)別

ApplicationContext BeanFactory 區(qū)別:

* 相同:

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

* 不相同:

* 1.ApplicationContext 是 BeanFactory 的子類,

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

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

* 2.性能方面

* BeanFactory 按需加載 Bean

* ApplicationContext餓漢模式, 創(chuàng)建的時(shí)候所有 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ù)的校驗(yàn)) ->@Service(數(shù)據(jù)的組裝,接口的調(diào)用) ->@Repository(和數(shù)據(jù)庫進(jìn)行交互)

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

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

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

其他四個(gè)類本身是屬于 @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 對象進(jìn)?重命名

2.2.3 注意事項(xiàng)

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

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

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

name={} 可以省略


* Bean 的命名可以起多個(gè)名字 :

但是會有問題--同?類型多個(gè) @Bean 報(bào)錯(cuò)

* @Bean 將一個(gè)類型的對象注入多次

* 解決方案三個(gè)

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

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

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

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


分享標(biāo)題:是Spring啊!-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://weahome.cn/article/csdpop.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部