org.springframework.context.ApplicationContext#getBeanDefinitionNames ( )源码实例Demo

下面列出了org.springframework.context.ApplicationContext#getBeanDefinitionNames ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Spring   文件: CIBeansTest.java
@Test
public void testConfig() {
    // ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:spring/ctr/sample-config-01.xml");
    ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:spring/ctr/sample-config-02.xml");

    logger.info(" --- All beans in context --- ");
    for(String beanName :  ctx.getBeanDefinitionNames()) {
        logger.info("Bean " + beanName + " of type " + ctx.getBean(beanName).getClass().getSimpleName());
    }

    ComplexBeanImpl complexBean0 = (ComplexBeanImpl) ctx.getBean("complexBean0");
    assertNotNull(complexBean0.getSimpleBean());

    ComplexBeanImpl complexBean1 = (ComplexBeanImpl) ctx.getBean("complexBean1");
    assertNotNull(complexBean1.getSimpleBean());
    assertTrue(complexBean1.isComplex());

    ComplexBean2Impl complexBean2 = (ComplexBean2Impl) ctx.getBean("complexBean2");
    assertNotNull(complexBean2.getSimpleBean1());
    assertNotNull(complexBean2.getSimpleBean2());
}
 
源代码2 项目: Spring   文件: CIBeansTest.java
@Test
public void testConfig() {
    // ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:spring/ctr/sample-config-01.xml");
    ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:spring/ctr/sample-config-02.xml");

    System.out.println(" --- All beans in context --- ");
    for(String beanName :  ctx.getBeanDefinitionNames()) {
        System.out.println("Bean " + beanName + " of type " + ctx.getBean(beanName).getClass().getSimpleName());
    }

    ComplexBeanImpl complexBean0 = (ComplexBeanImpl) ctx.getBean("complexBean0");
    assertNotNull(complexBean0.getSimpleBean());

    ComplexBeanImpl complexBean1 = (ComplexBeanImpl) ctx.getBean("complexBean1");
    assertNotNull(complexBean1.getSimpleBean());
    assertTrue(complexBean1.isComplex());

    ComplexBean2Impl complexBean2 = (ComplexBean2Impl) ctx.getBean("complexBean2");
    assertNotNull(complexBean2.getSimpleBean1());
    assertNotNull(complexBean2.getSimpleBean2());
}
 
@Profile("trace")
@Bean
public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
    return args -> {

        System.out.println("Let's inspect the beans provided by Spring Boot:\n");

        String[] beanNames = ctx.getBeanDefinitionNames();
        Arrays.sort(beanNames);
        for (String beanName : beanNames) {
            System.out.println(beanName);
        }

        System.out.println("---");
    };
}
 
源代码4 项目: cxf   文件: SpringBeanLocator.java
public SpringBeanLocator(ApplicationContext ctx, Bus bus) {
    context = ctx;
    if (bus != null) {
        orig = bus.getExtension(ConfiguredBeanLocator.class);
        if (orig instanceof ExtensionManagerImpl) {
            List<String> names = new ArrayList<>();
            for (String s : ctx.getBeanDefinitionNames()) {
                names.add(s);
                for (String s2 : ctx.getAliases(s)) {
                    names.add(s2);
                }
            }

            ((ExtensionManagerImpl)orig).removeBeansOfNames(names);
        }
    }
    loadOSGIContext(bus);
}
 
源代码5 项目: Spring   文件: PostProxyInvokerContextListener.java
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
	final ApplicationContext context = event.getApplicationContext();
	final String[] beanDefinitionNames = context.getBeanDefinitionNames();
	for(String beanName : beanDefinitionNames){
		final BeanDefinition beanDefinition = factory.getBeanDefinition(beanName);
		final String originalClassName = beanDefinition.getBeanClassName();
		try {
			final Class<?> originalClass = Class.forName(originalClassName);
			final Method[] methods = originalClass.getMethods();
			for(Method method : methods){
				if(method.isAnnotationPresent(PostProxy.class)){
					final Object bean = context.getBean(beanName);
					final Method currentMethod = bean.getClass().getMethod(method.getName(), method.getParameterTypes());
					currentMethod.invoke(bean);
				}
			}
		}
		catch (Exception e) {
			e.printStackTrace();
		}
	}
}
 
源代码6 项目: spring-boot-cookbook   文件: CtxCommandLine.java
/**
 * stream不能复用
 * java.lang.IllegalStateException: stream has already been operated upon or closed
 *
 * @param ctx
 * @return
 */
@Bean
public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
    return args -> {
        log.info("来看看 SpringBoot 默认为我们提供的 Bean:");
        String[] beanNames = ctx.getBeanDefinitionNames();
        Arrays.sort(beanNames);
        Arrays.stream(beanNames).forEach(System.out::println);
        Arrays.stream(beanNames).forEach(log::info);
    };
}
 
源代码7 项目: JGiven   文件: Application.java
public static void main( String[] args ) {
    ApplicationContext ctx = SpringApplication.run( Application.class, args );

    System.out.println( "Let's inspect the beans provided by Spring Boot:" );

    String[] beanNames = ctx.getBeanDefinitionNames();
    Arrays.sort( beanNames );
    for( String beanName : beanNames ) {
        System.out.println( beanName );
    }
}
 
@Bean
public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
    return args -> {

        System.out.println("Let's inspect the beans provided by Spring Boot:\n");

        String[] beanNames = ctx.getBeanDefinitionNames();
        Arrays.sort(beanNames);
        for (String beanName : beanNames) {
            System.out.println(beanName);
        }

        System.out.println("---");
    };
}
 
源代码9 项目: xxproject   文件: Application.java
@Bean
public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
    return args -> {

        System.out.println("Let's inspect the beans provided by Spring Boot:");

        String[] beanNames = ctx.getBeanDefinitionNames();
        Arrays.sort(beanNames);
        for (String beanName : beanNames) {
            LOGGER.debug(beanName);
        }
    };
}
 
源代码10 项目: Spring-Framework-Essentials   文件: RunDemo.java
public static void main(String[] args) {
    ApplicationContext context =
            new AnnotationConfigApplicationContext(
                    AppConfig.class, AppConfig.class);
    System.out.println(context.getBeanDefinitionCount());
    for (String name : context.getBeanDefinitionNames()) {
        System.out.println(name);
    }
}
 
源代码11 项目: code   文件: IOCTest.java
/**
 * 测试组件扫描规则是否生效
 *
 * @param
 * @return void
 */
@Test
public void test01() {
    ApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfig.class);
    String[] definitionNames = applicationContext.getBeanDefinitionNames();
    for (String name : definitionNames) {
        System.out.println(name);
    }
}
 
private void registerRepositoryDefinitions(Repository repository, ApplicationContext repoApplicationContext) {
    DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory)
            ((ConfigurableApplicationContext) applicationContext).getBeanFactory();

    String [] beanNames = repoApplicationContext.getBeanDefinitionNames();
    for(String beanName : beanNames) {
        Object repositoryClassInstance = repoApplicationContext.getBean(beanName);
        Class<?> repositoryObjectClass = repositoryClassInstance.getClass();
        if ((beanName.endsWith("Repository") ||
                (beanName.endsWith("Manager") && ! beanName.endsWith("TransactionManager")) )
                        && ! repository.getClass().equals(repositoryClassInstance.getClass())) {
            if (repositoryObjectClass.getInterfaces().length > 0) {
                Class<?> repositoryItfClass = repositoryObjectClass.getInterfaces()[0];
                LOGGER.debug("Set proxy target for {} [{}]", beanName, repositoryItfClass);
                try {
                    Object proxyRepository = beanFactory.getBean(repositoryItfClass);
                    if (proxyRepository instanceof AbstractProxy) {
                        AbstractProxy proxy = (AbstractProxy) proxyRepository;
                        proxy.setTarget(repositoryClassInstance);
                    }
                } catch (NoSuchBeanDefinitionException nsbde) {
                    LOGGER.debug("Unable to proxify {} [{}]", beanName, repositoryItfClass);
                }
            }
        } else if (beanName.endsWith("TransactionManager")) {
            beanFactory.registerSingleton(beanName, repositoryClassInstance);
        }
    }
}
 
public static void main(String[] args) {
	ApplicationContext applicationContext = 
			SpringApplication.run(SpringbootIn10StepsApplication.class, args);
	
	for (String name : applicationContext.getBeanDefinitionNames()) {
		System.out.println(name);
	}
}
 
源代码14 项目: Mastering-Spring-5.1   文件: Application.java
public static void main(String[] args) {
	ApplicationContext ctx = SpringApplication.run(Application.class, args);
	String[] beanNames = ctx.getBeanDefinitionNames();
	Arrays.sort(beanNames);
	for (String beanName : beanNames) {
		System.out.println(beanName);
	}
}
 
void setContext(ApplicationContext context) {
    this.context = context;
    String[] beanDefinitionNames = context.getBeanDefinitionNames();
    if (beanDefinitionNames != null && beanDefinitionNames.length > 0) {
        for (String beanName : context.getBeanDefinitionNames()) {
            try {
                addBean(beanName, context.getBean(beanName));
            } catch (Throwable t) {
                // ignore
            }
        }
    }
}
 
源代码16 项目: Spring-Framework-Essentials   文件: RunDemo.java
public static void main(String[] args) {
    ApplicationContext context =
            new AnnotationConfigApplicationContext(
                    AppConfig.class, AppConfig.class);
    System.out.println(context.getBeanDefinitionCount());
    for (String name : context.getBeanDefinitionNames()) {
        System.out.println(name);
    }
}
 
源代码17 项目: boost   文件: Application.java
@Bean
public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
    return args -> {

        System.out.println("Let's inspect the beans provided by Spring Boot:");

        String[] beanNames = ctx.getBeanDefinitionNames();
        Arrays.sort(beanNames);
        for (String beanName : beanNames) {
            System.out.println(beanName);
        }

    };
}
 
源代码18 项目: spring-ddd-bank   文件: Application.java
/** Displays the names of all Spring beans in the given application context.
 * @param applicationContext
 *            object to access many Spring services
 */
private static void displayAllBeans(final ApplicationContext applicationContext) {
	System.out.println("Application.displayAllBeans:");
	final String[] allBeanNames = applicationContext.getBeanDefinitionNames();
	for (final String beanName : allBeanNames) {
		System.out.println(beanName);
	}
}
 
public static void main(String[] args) {
    ApplicationContext ctx = SpringApplication.run(Application.class, args);

    System.out.println("Let's inspect the beans provided by Spring Boot:");

    String[] beanNames = ctx.getBeanDefinitionNames();
    Arrays.sort(beanNames);
    for (String beanName : beanNames) {
        System.out.println(beanName);
    }
}
 
源代码20 项目: Mastering-Spring-5.0   文件: Application.java
public static void main(String[] args) {
	ApplicationContext ctx = SpringApplication.run(Application.class, args);
	String[] beanNames = ctx.getBeanDefinitionNames();
	Arrays.sort(beanNames);
	for (String beanName : beanNames) {
		System.out.println(beanName);
	}
}