美文网首页技术栈
三、(二)通过注解配置Bean

三、(二)通过注解配置Bean

作者: 烟雨乱平生 | 来源:发表于2019-06-27 01:33 被阅读0次

在基于XML配置的中,根元素是来自与Spring Bean命名空间的<beans>元素。在基于Java的配置中使用@Configuration注解的Java类,就等价于XML配置中的<beans>元素。

在基于Java的配置中使用AnnotationConfigApplicationContext来创建Spring上下文。

ApplicationContext applicationContext = new AnnotationConfigApplicationContext(SpringConfig.class);

@Configuration

@Configuration注解会作为一个标识告知Spring:这个类将包含一个或者多个Spring Bean的定义。这些Bean的定义是使@Bean注解所标注的方法。

@Configuration
public class SpringConfig {
    @Bean()
    public Student student(){
        return new Student();
    }

    @Bean
    public StudentService studentService(){
        return new StudentService();
    }
}

@Bean

使用 @Bean 注解,注解到方法之上,使其成为 Spring 中返回对象为 Spring 的 Bean 资源。他等价于我们之前使用XML所配置的<bean>元素。

@Bean 的配置项中包含 4 个配置项:

  • name: 是一个字符串数组,允许配置多个 BeanName
  • autowire: 标志是否是一个引用的 Bean 对象,默认值是 Autowire.NO
  • initMethod: 自定义初始化方法
  • destroyMethod: 自定义销毁方法

如果没有显示指定name,Spring将默认使用方法名作为bean name。

@Bean()
public Student student(){
    return new Student();
}

注入属性值

使用xml配置的时候,我们可以通过元素<property>和<constructor-arg>来为bean对象注入属性值,而在基于Java的配置中,我们只需要通过构造函数或者setter方法就可以了。

@Bean()
public Student student(){
    Student student = new Student("wyw");
    student.setAge("24");
    return student;
}

@Bean
public StudentService studentService(){
    return new StudentService(student());
}

在Spring的Java配置中,通过声明方法引用一个Bean并不等于调用该方法。如果真的是这样,那么每次调用都将得到该Bean的一个新实例。实际上,通过@Bean注解标注的方法会告知Spring我们希望定义的Bean要被注册进Spring的应用上下文中。因此,在其他Bean的声明方法中引用这个方法时,Spring都会拦截该方法的调用,并尝试在应用上下文中查找该Bean,而不是让方法创建一个新的实例。

相关文章

  • 三、(二)通过注解配置Bean

    在基于XML配置的中,根元素是来自与Spring Bean命名空间的 元素。在基于Java的配置中使用@Confi...

  • spring3学习笔记(四)bean的管理

    bean的配置方式 1 通过配置文件的方式配置bean(在上一节已经讲过) 2 通过注解的方式配置bean(后面会...

  • Spring Boot常用注解

    注解速览 配置加载相关 Bean 声明注解 Bean 注入注解 SpringMVC 注解 MyBatis 注解 配...

  • SpringBoot 过滤器

    定义Filter 通过Bean配置 通过注解配置 直接用@WebFilter就可以进行配置,同样,可以设置url匹...

  • Spring之基于Java类的配置bean的加载注册流程

    描述 Spring Bean定义的三种方式:基于XML的配置基于注解的配置,在类中加入如下注解通过包扫描加载注册b...

  • Spring Boot 自动配置理解与实践

    一 自动配置理解 Spring Boot提倡通过注解(annotation)来进行Bean的配置。最终达到...

  • spring的bean的注解

    bean可以xml配置,也可以采用注解,注解更加简单,注解也需要配置相关的xml文件。因为bean的装配,采用注解...

  • Spring注解

    Spring注解 Spring可以通过XML文件和注解来配置bean,本文就Spring中的注解进行简要学习 概述...

  • Spring

    Bean bean本质上是IOC容器管理的对象,可以通过@controller等注解进行配置bean域主要包括:s...

  • Spring 通过注解配置 bean

    1. 组件扫描(component scan):Spring从配置xml文件的classpath路径下自动扫描,检...

网友评论

    本文标题:三、(二)通过注解配置Bean

    本文链接:https://www.haomeiwen.com/subject/uyukcctx.html