Spring預備知識(適合中小型項目)
作用:集成和管理其他框架
工廠模式:
A a = new A( );
將類所要創建的對象寫入工廠,統一進行管理
package com.spring;
public class TestSimpleFactoryPattern {
/**
* 工廠模式:利用工廠模式調用兩個類
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CarFactory factory = new CarFactory();//創建工廠模式的 CarFactory類的對象
Car c = factory.createCar("auti");//調用 CarFactory類中的方法創建對象
c.run();//調用所需類中的方法
}
}
class CarFactory{//建立工廠模式的 CarFactory類
public Car createCar(String type){//工廠模式的 CarFactory類中的createCar方法
if("auti".equalsIgnoreCase(type)){
return new Audi();
}else if("auto".equalsIgnoreCase(type)){
return new Auto();
}else{
return null;
}
}
}
interface Car{
public void run();
}
class Audi implements Car
{
@Override
public void run() {
System.out.println("奧迪車跑跑跑!");
}
}
class Auto implements Car//接口Car:用到了多態
{
@Override
public void run() {
System.out.println("奧拓車跑跑跑!");
}
}
單例模式:
某一個類只有一個實例
package com.spring;
public class ClassicSingleton {
public static ClassicSingleton instance = null;//此處null可以省略
private ClassicSingleton(){//構造器私有,外部不能調用
}
public synchronized ClassicSingleton getInstance(){//synchronized為多線程,公開一個方法
if(instance==null){
instance = new ClassicSingleton();//永遠只能調用一次
}
return instance;
}
}
面向接口編程
動態代理:AOP內部核心機制