天天看點

Spring(八)之基于Java配置

基于 Java 的配置

到目前為止,你已經看到如何使用 XML 配置檔案來配置 Spring bean。如果你熟悉使用 XML 配置,那麼我會說,不需要再學習如何進行基于 Java 的配置是,因為你要達到相同的結果,可以使用其他可用的配置。

基于 Java 的配置選項,可以使你在不用配置 XML 的情況下編寫大多數的 Spring,但是一些有幫助的基于 Java 的注解,解釋如下:

@Configuration 和 @Bean 注解

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

示範示例:

(1).編寫HelloWorldConfig.java

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

上面代碼相當于

<beans>
   <bean id="helloWorld" class="com.tutorialspoint.HelloWorld" />
</beans>      

(2)編寫HelloWorld.java

package com.tutorialspoint;

public class HelloWorld {
   private String message;

   public void setMessage(String message){
      this.message  = message;
   }

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

(3)編寫MainApp.java

package com.tutorialspoint;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

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();
       }
}      

運作結果如下:

Spring(八)之基于Java配置