Spring 基本概念

Spring框架的核心就是Spring容器,主要是透過容器建立、設定、管理直到銷毀物件。容器主要是利用dependency injection (DI)去管理組成應用程式的元件(物件),而這些元件(物件)則稱為所謂的Beans。

Spring提供了下列兩種不同的容器:

Spring BeanFactory Container

HelloWorld.java

package com.example ;

public class HelloWorld {
private String message ;

public void getMessage(){
 System.out.println("Your Message : " + message);
}
public void setMessage(String message) {
this.message = message;
} 
}

利用XmlBeanFactory() API建立factory bean,並且透過 ClassPathResource() API讀取bean的相關設定。

Main.java

package com.example ;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;


public class Main {

public static void main(String[] args) {
XmlBeanFactory factory = new XmlBeanFactory
 (new ClassPathResource("Beans.xml"));

 HelloWorld obj = (HelloWorld) factory.getBean("helloWorld");
 
 obj.getMessage();
}
}
 


Beans.xml

 
 
 
 

Application Context 是較進階的容器,他除了原先擁有BeanFactory容器的功能外,也包含處理property檔的文字和事件監聽的部分。

HelloWorld.java

package com.example ;

public class HelloWorld {
private String message ;

public void getMessage(){
 System.out.println("Your Message : " + message);
}
public void setMessage(String message) {
this.message = message;
} 
}

Main.java

package com.example ;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;


public class Main {

public static void main(String[] args) {
 ApplicationContext context = new FileSystemXmlApplicationContext("D:/Beans.xml");

 HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
 
 obj.getMessage();
}

}

Beans.xml

 
 
 
 

ApplicationContext 最常實作的有下列三種:

FileSystemXmlApplicationContext:讀取設定檔時需要完整的路徑。

ClassPathXmlApplicationContext:讀取設定檔時不需要完整的路徑,但是需要設定CLASSPATH 。

WebXmlApplicationContext:web應用程式讀取設定檔。

文章標籤
全站熱搜
創作者介紹
創作者 Codeless 的頭像
Codeless

Codeless的部落格

Codeless 發表在 痞客邦 留言(0) 人氣(349)