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

Spring 框架搭建入門指南:IoC 容器配置與 Bean 生命周期實戰

     編輯:Java 綜合教學

Spring 核心定位

Spring 是一個輕量級容器框架,核心職責:管理 Bean 的創建、裝配與生命周期,解決對象間耦合問題。

Spring 架構模塊圖

搭建步驟(基於 XML 配置)

1. 目錄結構

src/
├── com.server.User           # POJO
├── com.test.Test             # 測試類
└── applicationContext.xml    # 容器配置文件

2. 定義 Bean 類

package com.server;
public class User {
    private String name;
    public void getName() { System.out.println("Hello " + name); }
    public void setName(String name) { this.name = name; }
}

3. 編寫容器配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="https://www.springframework.org/schema/beans"
       xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="https://www.springframework.org/schema/beans
       https://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- id: Bean 唯一標識;class: 全限定類名 -->
    <bean id="user" class="com.server.User">
        <!-- setter 注入:name 屬性對應 setName() -->
        <property name="name">
            <value>chauncy</value>
        </property>
    </bean>
</beans>

等價於:User user = new User(); user.setName("chauncy");

4. 啟動容器並獲取 Bean

package com.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.server.User;

public class Test {
    public static void main(String[] args) {
        // 載入配置文件,初始化容器
        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
        // 根據 id 獲取 Bean,自動完成實例化與屬性注入
        User user = (User) ac.getBean("user");
        user.getName(); // 輸出:Hello chauncy
    }
}

核心概念速覽

概念說明
IoC (Inversion of Control)控制反轉:對象創建權從應用代碼移交給容器
DI (Dependency Injection)依賴注入:容器自動將依賴對象注入目標對象(如上例 setter 注入)
ApplicationContext高級容器接口,提供國際化、事件發布、資源加載等企業級功能
BeanDefinitionBean 的元數據描述(類名、作用域、構造參數、屬性值等)

擴展方向

  • 注解驅動:@Component + @Autowired 替代 XML。
  • Java Config:@Configuration + @Bean 類型安全配置。
  • 作用域:singleton(默認)、prototype、request、session。
  • 生命周期回調:init-method、destroy-method 或 @PostConstruct/@PreDestroy。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved