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

SSH 整合之 Spring 核心配置:IOC 容器、Bean 定義與依賴注入實戰

     編輯:Java 綜合教學

Spring 在 SSH 中的核心配置實戰

Spring 承擔 IOC 容器角色,管理 Struts2 Action 與 Hibernate DAO/Service 的生命周期與依賴關係,實現組件解耦。

一、Spring 核心作用

  • 管理實例:替代 new,單例/原型模式控制創建策略,節省內存。
  • 降低耦合:依賴注入 (DI) 替代硬編碼依賴,促進模塊化。

二、Jar 包導入

  1. Spring 官方包 lib/ 目錄下所有 jar(排除 javadoc/sources)。
  2. 必備補充:commons-logging.jar、struts2-spring-plugin.jar (Struts2 整合橋接)。
    Spring Jar包

三、web.xml 註冊監聽器

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
</context-param>

web.xml監聽器

四、struts.xml 聲明 Spring 接管 Action

<constant name="struts.objectFactory" value="spring" />

struts.xml常量

五、applicationContext.xml Bean 配置詳解

1. 文件頭 Schema 聲明

<beans xmlns="https://www.springframework.org/schema/beans"
       xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="https://www.springframework.org/schema/p"
       xmlns:aop="https://www.springframework.org/schema/aop"
       xmlns:context="https://www.springframework.org/schema/context"
       xmlns:tx="https://www.springframework.org/schema/tx"
       xsi:schemaLocation="...spring-beans-4.2.xsd ...spring-context-4.2.xsd ...spring-tx-4.2.xsd">

2. Bean 定義示例

<bean id="myServiceImp" class="services.MyServiceImp" scope="singleton"/>
<bean id="myConnectionImp" class="util.MyConnectionImp" scope="prototype"/>

<bean id="actionService" class="action.ActionService" scope="prototype">
    <property name="ms" ref="myServiceImp"/> <!-- 注入 Service -->
</bean>

Bean配置截圖

3. Scope 選項

Scope含義
singleton容器內單實例(默認),適用無狀態 Bean
prototype每次請求創建新實例
request每個 HTTP 請求一實例
session每個 HTTP Session 一實例
global sessionPortlet 環境下全局 Session 一實例

4. 依賴注入機制

  • <property name="ms" ref="myServiceImp"/>:Setter 注入,ActionService 需有 setMs(MyServiceImp ms)。
    ActionService屬性
  • scope="prototype":每次獲取 Bean 重新創建(如數據庫連接)。

六、總結

Spring 通過 applicationContext.xml 集中管理組件定義與依賴關係,配合 Struts2 插件實現 Action 的 IOC 化,是 SSH 架構的粘合劑。

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