1. 程式人生 > 其它 >Spring深入淺出(十一),註解,@Configuration 和 @Bean

Spring深入淺出(十一),註解,@Configuration 和 @Bean

帶有@Configuration的註解類表示這個類可以使用 Spring IoC 容器作為 bean 定義的來源。@Bean註解告訴 Spring,一個帶有 @Bean 的註解方法將返回一個物件,該物件應該被註冊為在 Spring 應用程式上下文中的 bean。

參考如下程式碼:

package com.clzhang.spring.demo;

import org.springframework.context.annotation.*;
@Configuration
public class HelloWorldConfig {
   @Bean 
   public HelloWorld helloWorld(){
      
return new HelloWorld(); } }

上述程式碼等同於:

<beans>
   <bean id="helloWorld" class="com.clzhang.spring.demo.HelloWorld" />
</beans>

完整示範:

1. 建立實體類

package com.clzhang.spring.demo;

public class HelloWorld {
    private String message;

    public void setMessage(String message) {
        
this.message = message; } public void getMessage() { System.out.println("Your Message : " + message); } }

2. 建立業務類

package com.clzhang.spring.demo;

import org.springframework.context.annotation.*;
@Configuration
public class HelloWorldConfig {
   @Bean 
   public HelloWorld helloWorld(){
      
return new HelloWorld(); } }

3. 建立主程式

package com.clzhang.spring.demo;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.*;

public class MainApp {
   public static void main(String[] args) {
      ApplicationContext ctx = 
      new AnnotationConfigApplicationContext(HelloWorldConfig.class);

      HelloWorld helloWorld = ctx.getBean(HelloWorld.class);

      helloWorld.setMessage("Hello World!");
      helloWorld.getMessage();
   }
}

4. 執行(不需要配置檔案)

Your Message : Hello World!

本文參考:

https://www.w3cschool.cn/wkspring/tlbk1icp.html