为了账号安全,请及时绑定邮箱和手机立即绑定

Spring 基于 Java 的配置

标签:
Spring

基于 Java 的配置

到目前为止,你已经看到如何使用 XML 配置文件来配置 Spring bean。如果你熟悉使用 XML 配置,那么我会说,不需要再学习如何进行基于 Java 的配置是,因为你要达到相同的结果,可以使用其他可用的配置。

基于 Java 的配置选项,可以使你在不用配置 XML 的情况下编写大多数的 Spring,但是一些有帮助的基于 Java 的注解,解释如下:

@Configuration 和 @Bean 注解

带有 @Configuration 的注解类表示这个类可以使用 Spring IoC 容器作为 bean 定义的来源。@Bean 注解告诉 Spring,一个带有 @Bean 的注解方法将返回一个对象,该对象应该被注册为在 Spring 应用程序上下文中的 bean。最简单可行的 @Configuration 类如下所示:

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

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

<beans>    <bean id="helloWorld" class="com.tutorialspoint.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(); }

你可以加载各种配置类,如下所示:

public static void main(String[] args) {    AnnotationConfigApplicationContext ctx =     new AnnotationConfigApplicationContext();    ctx.register(AppConfig.class, OtherConfig.class);    ctx.register(AdditionalConfig.class);    ctx.refresh();    MyService myService = ctx.getBean(MyService.class);    myService.doStuff(); }

例子

让我们在恰当的位置使用 Eclipse IDE,然后按照下面的步骤来创建一个 Spring 应用程序:

步骤描述
1创建一个名称为 SpringExample 的项目,并且在创建项目的 src 文件夹中创建一个包 com.tutorialspoint
2使用 Add External JARs 选项,添加所需的 Spring 库,解释见 Spring Hello World Example 章节。
3因为你是使用基于 java 的注解,所以你还需要添加来自 Java 安装目录的 CGLIB.jar 和可以从 asm.ow2.org 中下载的 ASM.jar 库。
4在 com.tutorialspoint 包中创建 Java 类 HelloWorldConfigHelloWorld 和 MainApp
5最后一步是创建的所有 Java 文件和 Bean 配置文件的内容,并运行应用程序,解释如下所示。

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

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

这里是 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);    } }


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消