-
這里入如果是非無參狀態(tài)會(huì)如何?
如果寫了有參數(shù)的構(gòu)造函數(shù)并且繼承的父類中沒有無參的構(gòu)造函數(shù)會(huì)報(bào)錯(cuò)。
查看全部 -
難道說類實(shí)例需要小寫的規(guī)范和這個(gè)有關(guān)2333
查看全部 -
這一塊的限定掃描目前能想到的使用場(chǎng)景主要是:未完成的功能模塊,未測(cè)試的新部分,需要后續(xù)開發(fā)的預(yù)留類……
查看全部 -
之前用是用,大多數(shù)照貓畫虎
查看全部 -
構(gòu)造器加載,在類加載構(gòu)造體中生成IOC容器對(duì)象依賴的依然時(shí)TYPE方式加載,所以id名稱無價(jià)值。
查看全部 -
這里因?yàn)闆]有實(shí)例autoWiringDAO對(duì)象,所以Service類中的say方法沒有辦法調(diào)用DAO類的實(shí)例方法,可是為什么沒錯(cuò)誤呢?
查看全部 -
對(duì)象中其它成員變量的依賴關(guān)系不再由配置文件中bean標(biāo)簽中定義,而是通過set方法的設(shè)置,在加載IOC容器時(shí),通過名稱自動(dòng)賦值
查看全部 -
相當(dāng)于從集合中通過id名稱獲取對(duì)象(看上去似乎時(shí)類似操作)?
查看全部 -
此處接口必須實(shí)現(xiàn)的方法是一個(gè)在加載時(shí)就會(huì)執(zhí)行的set方法,在IOC容器中生成對(duì)象后,因?yàn)楹竺嬲{(diào)用的就是之前生成的容器中的這個(gè)對(duì)象,所以hash值相同,是為一個(gè)對(duì)象。
查看全部 -
2-1 IoC及Bean容器
1.接口
用于溝通的中介物(規(guī)范)的抽象化
對(duì)外提供一些功能,內(nèi)部的實(shí)現(xiàn)不公開
Java中,接口即聲明,聲明了哪些方法是對(duì)外公開提供的
Java8中,接口可以有方法體
?
2.面向接口編程
結(jié)構(gòu)設(shè)計(jì)中,分清層次及調(diào)用關(guān)系,每層只向外(上層)提供一組功能接口,各層間僅依賴接口而非實(shí)現(xiàn)類
接口實(shí)現(xiàn)的變動(dòng)不影響各層間的調(diào)用,這一點(diǎn)在公共服務(wù)中尤為重要
“面向接口編程”中的“接口”是用于隱層具體實(shí)現(xiàn)和實(shí)現(xiàn)多態(tài)性的組件
例子:
接口Dao,實(shí)現(xiàn)類DaoImpl,使用方法為多態(tài)Dao dao = new DaoImpl();用接口聲明,將接口的實(shí)現(xiàn)類賦值給接口,最后調(diào)方法
?
3.IoC
IoC:控制反轉(zhuǎn),控制權(quán)的轉(zhuǎn)移,應(yīng)用程序本身不負(fù)責(zé)依賴對(duì)象的創(chuàng)建和維護(hù),而是由外部容器負(fù)責(zé)創(chuàng)建和維護(hù)(住房子不是自己來建,而是找中介——中介找房子——住中介找的房子,即IoC的動(dòng)作:找IoC容器——容器返回對(duì)象——使用對(duì)象)
DI:依賴注入,是IoC的一種實(shí)現(xiàn)方式,目的是創(chuàng)建對(duì)象并組裝對(duì)象之間的關(guān)系
IoC中,所有的容器稱為Bean
?
4.Bean容器的初始化
(1)基礎(chǔ):兩個(gè)包org.springframework.beans和org.springframeword.context
BeanFactory提供配置結(jié)構(gòu)和基本功能,加載并初始化Bean
ApplicationContext是BeanFactory的子接口,保存了Bean對(duì)象并在Spring中被廣泛使用
他們都可以代表Spring容器,Spring容器是生成Bean實(shí)例的工廠,并管理Bean??????
在創(chuàng)建Spring容器的實(shí)例時(shí)(通過getBean方法),必須提供Spring容器管理的Bean的詳細(xì)配置信息,Spring的配置信息通常通過xml配置文件來設(shè)置(也可通過注解)。
在實(shí)際的應(yīng)用中,Spring容器通常是采用聲明式方式配置產(chǎn)生:即開發(fā)者只要在web.xml文件中配置一個(gè)Listener,該Listener將會(huì)負(fù)責(zé)初始化Spring容器。
實(shí)現(xiàn)BeanFactoryAware接口的Bean實(shí)例,擁有訪問BeanFactory容器的能力
就是說,ApplicationContext用來管理Bean,可以通過xml配置文件或注解的方式來將Bean注冊(cè)到ApplicationContext中
(2)初始化ApplicationContext的方式
1°本地文件
FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext("F:/workspace/ applicationContext.xml");
2°Classpath
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
3°Web應(yīng)用中依賴servlet或Listener
a.
<listener>
????? <listener-class>org.springframework.web.context.ContextLoaderListener<listener-class>
<listener>
b.
<servlet>
????? <servlet-name>context<servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet<servlet-class>
<load-on-startup>1<load-on-startup>
<servlet>
查看全部 -
1-3 Spring框架
1.框架
(1)定義:一套規(guī)范或規(guī)則,程序員在該規(guī)范或規(guī)則下工作
(2)特性:半成品,封裝了特定的處理流程和控制邏輯,成熟的、不斷升級(jí)改進(jìn)的軟件
(3)與類庫(kù)的區(qū)別:框架一般是封裝了邏輯、高內(nèi)聚的,類庫(kù)則是松散的工具組合;框架專注于某一領(lǐng)域,類庫(kù)則是更通用的
(4)為什么使用框架:軟件系統(tǒng)日趨復(fù)雜;重用度高,開發(fā)效率和質(zhì)量提高;軟件設(shè)計(jì)人員要專注于對(duì)領(lǐng)域的了解,使需求分析更充分;易于上手、快速解決問題
查看全部 -
1-2 Spring概況
1.一個(gè)輕量的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架
(1)從大小和開銷兩方面而言,Spring是輕量的
(2)通過控制反轉(zhuǎn)達(dá)到松耦合的目的
(3)提供面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯(如商品的入庫(kù))與系統(tǒng)級(jí)服務(wù)(如日志記錄)進(jìn)行內(nèi)聚性的開發(fā)
(4)包含并管理應(yīng)用對(duì)象的配置和生命周期,這個(gè)意義上是一種容器(容器:用來管理對(duì)象)
(5)將簡(jiǎn)單的組件配置、組合成為復(fù)雜的應(yīng)用,這個(gè)意義上是框架(框架:半成品,支持其他組件的組合)
2.Spring作用
容器、提供對(duì)多種技術(shù)的支持、AOP(事務(wù)管理、日志)、提供了眾多方便應(yīng)用的輔助類(JDBC 模板等)、對(duì)主流應(yīng)用框架(MyBatis)提供了良好的支持
3.適應(yīng)范圍
(1)構(gòu)建企業(yè)應(yīng)用(SpringMVC+Spring+MyBatis)
(2)單獨(dú)使用Bean容器進(jìn)行管理
(3)單獨(dú)使用AOP進(jìn)行切面處理
(4)其他的Spring功能,如:對(duì)消息的支持
(5)在互聯(lián)網(wǎng)中的應(yīng)用
查看全部 -
第一章 概述
1-1 Spring入門課程簡(jiǎn)介
SpringFrameWork
查看全部 -
IOC容器在加載時(shí),會(huì)掃描xml里的配置并實(shí)例化bean。
注入:在創(chuàng)建過程中完成對(duì)成員變量的賦值
常用注入方式:設(shè)值注入(java封裝的setter、getter方法),構(gòu)造注入(創(chuàng)建一個(gè)構(gòu)造器)
查看全部 -
classpath:相對(duì)路徑
查看全部
舉報(bào)