1、物件導向寫法(帶著面向過程的思維)
電腦 computer = new 電腦();
【電腦**中 new 印表機()】
computer.列印文字("hello 140");
電腦和印表機告訴耦合
--------------------------------------
2、改進,電腦類中,不再new 印表機,採用注入方式
電腦 computer = new 電腦();
印表機 printer = new 印表機();
computer.setprinter(printer);
把電腦和印表機解耦
但是,仍然存在乙個問題:只有1臺印表機,不能換
--------------------
3、改進,把印表機設定乙個介面,分別新增2個實現類(分別是黑白和 彩色)
電腦 computer = new 電腦();
印表機 printer = new 彩色印表機();
computer.setprinter(printer);
好處:切換印表機的時候,無須修改電腦類,
電腦和印表機徹底解耦
還有有問題:如果切換印表機,是改**
(雖然不用改電腦類、也不要改各個印表機的類,
但是還是需要改測試呼叫類)
-----------------------
4、引入ioc重要思想:把new乙個實現類的控制權,
從程式設計師從交出來,交給spring
在編碼過程中,程式設計師是絕對不知道實現類是誰。
只要你知道,你已經錯了。
學會:衣來伸手,飯來張口。
spring給你什麼,你就用什麼
--------------------------
5、改進spring
(屬性的賦值,由**改為spring注入)
1.新建空專案,配置spring
org.springframework2.測試類spring-context
5.0.0.release
原本是要寫這些**的
電腦i computer = (電腦i) context.getbean("computer");view code印表機i printer = (印表機i)context.getbean("printer");
system.out.println(computer);
system.out.println(printer);
computer.玩遊戲();
computer.列印文字("hello 140");
但引入spring後
//3.因為我們有三個class,所以三個1.先拿到乙個spring容器
//2.拿1臺電腦
電腦i computer = (電腦i) context.getbean("computer");
computer.列印文字("hello 140");
class="com.nf.test.膝上型電腦">class="com.nf.test.黑白印表機">
class="com.nf.test.彩色印表機">
struts2學習筆記 struts2的配置檔案
一 struts.xml定義bean的作用 1.建立該bean的例項,將該例項作為struts2框架的核心元件使用。2.bean包含的靜態方法需要乙個值注入。很方便地允許不建立某個類的例項,卻可以接受框架常量。通常需要設定static true 通常,當指定了type屬性時,該屬性不應該制定為tru...
struts2學習筆記 struts2的配置檔案
一 struts.xml定義bean的作用 1.建立該bean的例項,將該例項作為struts2框架的核心元件使用。2.bean包含的靜態方法需要乙個值注入。很方便地允許不建立某個類的例項,卻可以接受框架常量。通常需要設定static true 通常,當指定了type屬性時,該屬性不應該制定為tru...
Struts2學習筆記
1.不繼承,不介面 2.繼承actionsupport類 3.介面action介面 4.我們可以使用modeldriven模式 5.我們可以自己編寫bean進行struts2的擴充套件,但是 一般不需要,因為struts2的功能已經很強大了!6.我們可以將default.properties檔案中的...