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的别名

  • 相关阅读:
    散列算法
    【转】认证 (authentication) 和授权 (authorization) 的区别
    Filter和interceptor比较
    【转】深入理解Spring的两大特征(IOC和AOP)
    [转]web.xml中servlet ,filter ,listener ,interceptor的作用与区别
    线程同步
    Java容器
    进程间交互的几种方式
    JSP和Servlet的区别
    IPC介绍
  • 原文地址:https://www.cnblogs.com/strongmore/p/13782027.html
Copyright © 2011-2022 走看看