Spring 基于 Java 的配置

本文内容纲要:

- @Configuration 和 @Bean 注解

- 一个例子

前面已经学习如何使用 XML 配置文件来配置 Spring bean。

基于 Java 的配置可以达到基于XML配置的相同效果。

基于 Java 的配置选项,可以使你在不用配置 XML 的情况下编写大多数的 Spring

@Configuration 和 @Bean 注解

带有 @Configuration 的注解类表示这个类可以使用 Spring IoC 容器作为 bean 定义的来源。

@Bean 注解告诉 Spring,一个带有 @Bean 的注解方法将返回一个对象,该对象应该被注册为在 Spring 应用程序上下文中的 bean。

最简单可行的 @Configuration 类如下所示:

package hello;

import org.springframework.context.annotation.*;

@Configuration

public class HelloWorldConfig {

@Bean

public HelloWorld helloWorld(){

return new HelloWorld();

}

}

上面的代码将等同于下面的 XML 配置:

<beans>

<bean id="helloWorld" class="hello.HelloWorld" />

</beans>

在这里,带有 @Bean 注解的方法名称作为 bean 的 ID,它创建并返回实际的 bean。

你的配置类可以声明多个 @Bean。

一旦定义了配置类,你就可以使用 AnnotationConfigApplicationContext 来加载并把他们提供给 Spring 容器,如下所示:

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 类 HelloWorldConfig、HelloWorld 和 MainApp

这里是 HelloWorldConfig.java 文件的内容:

package hello;

import org.springframework.context.annotation.*;

@Configuration

public class HelloWorldConfig {

@Bean

public HelloWorld helloWorld(){

return new HelloWorld();

}

}

这里是 HelloWorld.java 文件的内容:

package hello;

public class HelloWorld {

private String message;

public void setMessage(String message){

this.message = message;

}

public String getMessage(){

System.out.println("the Message : " + message);

return message;

}

}

下面是 MainApp.java 文件的内容:

package hello;

//import org.springframework.context.support.AbstractApplicationContext;

import org.springframework.context.ApplicationContext;

//import org.springframework.context.support.ClassPathXmlApplicationContext;

import org.springframework.context.annotation.*;

public class MainApp {

public static void main(String[] args) {

ApplicationContext context =

new AnnotationConfigApplicationContext(HelloWorldConfig.class);

HelloWorld obj = context.getBean(HelloWorld.class);

obj.setMessage("你好");

obj.getMessage();

}

}

运行结果

the  Message : 你好

每天学习一点点,每天进步一点点。

本文内容总结:@Configuration 和 @Bean 注解,一个例子,

原文链接:https://www.cnblogs.com/youcoding/p/12790596.html

以上是 Spring 基于 Java 的配置 的全部内容, 来源链接: utcz.com/z/296460.html

回到顶部