美文网首页
12、Spring-注解注入声明

12、Spring-注解注入声明

作者: 唯老 | 来源:发表于2019-09-18 00:15 被阅读0次

一、概要

前面介绍了Bean的XML配置方法,从Spring 3.0开始,可以使用java代码配置Bean,替代XML配置。Java配置与注解配置不同,Java配置是把Java代码文件当作配置文件,注解配置是在实际Java类中使用注解设置依赖关系。Java配置也会用到一些注解,主要有:@Configuration@ComponentScan@Bean
Spring Boot中彻底抛弃了xml配置 后期推荐使用此种方式

二、通过@Configuration注解创建Java配置类

@Configuration注解标注的类是配置类,用于配置Bean之间依赖关系。
@Import注解允许从另一个配置Java/XML文件加载bean定义。
栗子

// 表明这是个Bean的Java配置类
@Configuration
public class DruidConfig {
}

三、 通过@Bean注解定义Bean

要定义一个Bean,可以通过:

  1. 给一个方法加@Bean注解
  2. 方法返回Bean实例
    Spring容器会注册这个Bean,并将方法名作为Bean ID。
    栗子
@Configuration
public class SpringConfig {
 // 定义 App Bean
 // 指定初始化回调,销毁回调
 @Bean(initMethod = "init", destroyMethod = "close" )
 // 设置Bean作用域
 @Scope("prototype")
 public App app() {
 // 返回App Bean
  return new App();
 }
}

四、注入Bean依赖关系

可以通过让一个Bean方法调用另一个Bean方法注入依赖项。
栗子

@Configuration
public class SpringConfig {
  // 定义 App Bean
  @Bean
  public App app()
    // 调用Bean方法logger()注入Logger Bean实例
    return new App();
  }
}

五、 读取配置类

可以使用AnnotationConfigApplicationContext读取配置类。
示例:Test.java

public class Test {
public static void main(String[] args) {
  // 使用`AnnotationConfigApplicationContext`读取配置类
  ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
 }
}

六、通过Spring容器获取bean

栗子

App app = context.getBean("app", App.class);

相关文章

  • 12、Spring-注解注入声明

    一、概要 前面介绍了Bean的XML配置方法,从Spring 3.0开始,可以使用java代码配置Bean,替代X...

  • Spring-注解声明

    一、概要 前期说明 注解本身没有功能的,就和xml一样。注解和xml都是一种元数据,元数据即解释数据的数据,这就是...

  • Spring-注解依赖注入

    一、概要 自动装配是指Spring 在装配 Bean 的时候,根据指定的自动装配规则,将某个 Bean 所需要引用...

  • Spring Boot常用注解

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

  • Java Spring-声明式事务

    Spring-声明式事务

  • Java | Spring 系列注解

    这篇文章由多个资料和文档整理而来 Spring 系列注解 Spring Bean 声明和注入 声明bean的注解 ...

  • 原来我不懂Spring-注解方式注入

    image.png 如何使用注解配置注入bean 注解方式设定Bean的作用域 Bean的懒加载 Bean的初始化和销毁

  • Spring依赖注入(IoC)的四种方式

    Spring中四种依赖注入的方式(推荐注解注入) 注解注入(1) 注解注入 (2) 构造函数注入 代码如下(如果不...

  • spring-注解

    1.在web.xml配置启动的listener 启动容器的代码

  • spring-注解

    1.@RestControllerIn Spring’s approach to building RESTful...

网友评论

      本文标题:12、Spring-注解注入声明

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