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應用程式讀取設定檔。
文章標籤
全站熱搜