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

【譯文】Spring 4 註解配置 Hello World 完整範例

     編輯:Java 綜合教學

【譯文】Spring 4 註解配置 Hello World 完整範例

本教學示範基於 Spring 4.0.6 的純註解配置風格,對比傳統 XML 配置,幫助理解 Spring 核心概念:IoC 容器、Bean 定義、依賴注入。

技術棧與工具

  • Spring Framework 4.0.6.RELEASE
  • Maven 3
  • JDK 1.6+
  • Eclipse Juno SR2

專案結構

src/main/java
├── com.websystique.spring
│   ├── AppMain.java              # 啟動類
│   ├── configuration
│   │   └── HelloWorldConfig.java # 註解配置類
│   ├── domain
│   │   ├── HelloWorld.java       # 服務介面
│   │   └── HelloWorldImpl.java   # 服務實現

步驟 1:Maven 依賴配置

<properties>
  <springframework.version>4.0.6.RELEASE</springframework.version>
</properties>

<dependencies>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${springframework.version}</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${springframework.version}</version>
  </dependency>
</dependencies>

核心依賴:spring-core (基礎設施) + spring-context (註解支援、ApplicationContext)。

步驟 2:定義服務介面與實現 (面向介面編程)

// HelloWorld.java
public interface HelloWorld {
    void sayHello(String name);
}

// HelloWorldImpl.java
public class HelloWorldImpl implements HelloWorld {
    public void sayHello(String name) {
        System.out.println("Hello " + name);
    }
}

步驟 3:註解配置類 (替代 XML)

@Configuration
public class HelloWorldConfig {
    @Bean(name="helloWorldBean")
    @Description("Sample HelloWorld Bean") // Spring 4 新註解
    public HelloWorld helloWorld() {
        return new HelloWorldImpl();
    }
}

關鍵註解:

  • @Configuration:標識此類為配置類,內部 @Bean 方法產出的物件交由 Spring 容器管理。
  • @Bean:方法層級註解,方法名預設為 Bean ID,可用 name 屬性指定。
  • @Description:Spring 4 新增,提供 Bean 語義說明。

等效 XML 配置對照

<beans ...>
  <bean id="helloWorldBean" class="com.websystique.spring.domain.HelloWorldImpl" />
</beans>

步驟 4:啟動容器與獲取 Bean

public class AppMain {
    public static void main(String[] args) {
        // 註解配置啟動方式
        AbstractApplicationContext context = 
            new AnnotationConfigApplicationContext(HelloWorldConfig.class);
        
        HelloWorld bean = (HelloWorld) context.getBean("helloWorldBean");
        bean.sayHello("Spring 4");
        context.close();
    }
}

AnnotationConfigApplicationContext 接受 @Configuration 類,掃描並註冊所有 @Bean 定義。

XML 配置啟動方式對比

AbstractApplicationContext context = 
    new ClassPathXmlApplicationContext("helloworld-config.xml");

執行結果

Hello Spring 4

延伸閱讀

下一篇將介紹 Component Scanning (組件掃描):使用 @Component、@Service、@Repository 等刻板印象註解,實現 Bean 自動發現與裝配,無需在配置類中逐一定義。

原文與原始碼

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