首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Spring 入門第一課:構建基於 IoC 的 HelloWorld

     編輯:Java 相關知識

準備工作

  • 下載 spring-framework-1.1.1-with-dependencies.zip(含相關 JAR)或精簡版。
  • 核心 JAR:spring-core.jar、commons-logging.jar(必須)。
  • 加入 CLASSPATH。

步驟 1:編寫 POJO 組件

package onlyfun.caterpillar;
public class HelloBean {
    private String helloWord = "Hello!World!";
    public void setHelloWord(String helloWord) { this.helloWord = helloWord; }
    public String getHelloWord() { return helloWord; }
}

步驟 2:定義 Bean 配置文件 (bean.xml)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "https://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    <bean id="helloBean" class="onlyfun.caterpillar.HelloBean">
        <property name="helloWord"><value>Hello!Justin!</value></property>
    </bean>
</beans>

放在 CLASSPATH 根目錄(如工作目錄或 WEB-INF/classes)。

步驟 3:編寫測試程式

package onlyfun.caterpillar;
import java.io.*;
import org.springframework.beans.factory.*;
import org.springframework.beans.factory.xml.*;
public class SpringTest {
    public static void main(String[] args) throws IOException {
        InputStream is = new FileInputStream("bean.xml");
        BeanFactory factory = new XmlBeanFactory(is);
        HelloBean hello = (HelloBean) factory.getBean("helloBean");
        System.out.println(hello.getHelloWord()); // 輸出 Hello!Justin!
    }
}

核心概念解析

  • IoC (控制反轉):對象依賴關係由容器在運行期注入,而非代碼中硬編碼。
  • Setter Injection:透過 setHelloWord() 注入字符串依賴。
  • BeanFactory:Spring 核心容器介面,XmlBeanFactory 讀取 XML 完成裝配。
  • 單例模式:默認 helloBean 為單例,getBean() 返回同一實例。

運行輸出

2004/10/21 上午 10:28:00 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
資訊: Loading XML bean definitions from resource for InputStream
2004/10/21 上午 10:28:00 org.springframework.beans.factory.support.AbstractBeanFactory getBean
資訊: Creating shared instance of singleton bean 'helloBean'
Hello!Justin!

意義

修改問候語只需改 bean.xml,**無需修改 Java 代碼**,實現了依賴關係的外部化配置,這是 Spring 乃至現代框架的基石思想。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved