zoukankan      html  css  js  c++  java
  • Spring源码分析之AliasRegistry(1)

    AliasRegistry顾名思义为别名注册表,就是存储别名的地方,首先看一下别名的使用

    别名的使用

    public class UserService {
    
      public void userList() {
        System.out.println("userList");
      }
    }
    

    UserService是一个简单的JavaBean,

    @Configuration
    public class BeanConfig {
    
      @Bean({"userService", "userService1", "userService2", "userService3"})
      public UserService userService() {
        return new UserService();
      }
    }
    

    我们使用JavaConfig来配置一个Bean,如果没有配置name,spring就会取方法名作为name,如果配置了,取第一个值,剩余的会当做别名处理

    这是spring对Bean注解的处理。

    public class Client {
      public static void main(String[] args) {
        ApplicationContext context = new AnnotationConfigApplicationContext(BeanConfig.class);
        UserService userService = context.getBean(UserService.class);
        userService.userList();
        System.out.println("==========");
        String[] contextAliases = context.getAliases("userService");
        for (String contextAlias : contextAliases) {
          System.out.println(contextAlias);
        }
      }
    }
    

    输出结果为

    userList
    ==========
    userService3
    userService2
    userService1
    

    spring会将userService当做bean的name,将userService1,userService2,userService3当做bean的别名

  • 相关阅读:
    报错18:28:21: Debugging starts QLayout: Attempting to add QLayout ““ to MainWindow “MainWindow“, which
    春 景
    sysTime(系统毫秒)
    balabala视频格式转换器
    tasklist /FI命令结论
    QFileSystemWatcher
    Qfileinfo
    Qdir
    欢迎光临我的普吉岛芭东海滩公寓
    使用ArcGIS GP服务之一框架介绍
  • 原文地址:https://www.cnblogs.com/strongmore/p/13782027.html
Copyright © 2011-2022 走看看