Polishing

This commit is contained in:
Juergen Hoeller
2018-07-04 23:07:08 +02:00
parent 4298744c4a
commit 50f7ffddf8
3 changed files with 23 additions and 10 deletions

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2012 the original author or authors. * Copyright 2002-2018 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@@ -75,7 +75,7 @@ public class BeanDefinitionStoreException extends FatalBeanException {
/** /**
* Create a new BeanDefinitionStoreException. * Create a new BeanDefinitionStoreException.
* @param resourceDescription description of the resource that the bean definition came from * @param resourceDescription description of the resource that the bean definition came from
* @param beanName the name of the bean requested * @param beanName the name of the bean
* @param msg the detail message (appended to an introductory message that indicates * @param msg the detail message (appended to an introductory message that indicates
* the resource and the name of the bean) * the resource and the name of the bean)
*/ */
@@ -86,28 +86,28 @@ public class BeanDefinitionStoreException extends FatalBeanException {
/** /**
* Create a new BeanDefinitionStoreException. * Create a new BeanDefinitionStoreException.
* @param resourceDescription description of the resource that the bean definition came from * @param resourceDescription description of the resource that the bean definition came from
* @param beanName the name of the bean requested * @param beanName the name of the bean
* @param msg the detail message (appended to an introductory message that indicates * @param msg the detail message (appended to an introductory message that indicates
* the resource and the name of the bean) * the resource and the name of the bean)
* @param cause the root cause (may be {@code null}) * @param cause the root cause (may be {@code null})
*/ */
public BeanDefinitionStoreException(String resourceDescription, String beanName, String msg, Throwable cause) { public BeanDefinitionStoreException(String resourceDescription, String beanName, String msg, Throwable cause) {
super("Invalid bean definition with name '" + beanName + "' defined in " + resourceDescription + ": " + msg, cause); super("Invalid bean definition with name '" + beanName + "' defined in " + resourceDescription + ": " + msg,
cause);
this.resourceDescription = resourceDescription; this.resourceDescription = resourceDescription;
this.beanName = beanName; this.beanName = beanName;
} }
/** /**
* Return the description of the resource that the bean * Return the description of the resource that the bean definition came from, if available.
* definition came from, if any.
*/ */
public String getResourceDescription() { public String getResourceDescription() {
return this.resourceDescription; return this.resourceDescription;
} }
/** /**
* Return the name of the bean requested, if any. * Return the name of the bean, if available.
*/ */
public String getBeanName() { public String getBeanName() {
return this.beanName; return this.beanName;

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2012 the original author or authors. * Copyright 2002-2018 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@@ -55,6 +55,7 @@ public interface BeanDefinitionRegistry extends AliasRegistry {
* @throws BeanDefinitionStoreException if the BeanDefinition is invalid * @throws BeanDefinitionStoreException if the BeanDefinition is invalid
* or if there is already a BeanDefinition for the specified bean name * or if there is already a BeanDefinition for the specified bean name
* (and we are not allowed to override it) * (and we are not allowed to override it)
* @see GenericBeanDefinition
* @see RootBeanDefinition * @see RootBeanDefinition
* @see ChildBeanDefinition * @see ChildBeanDefinition
*/ */

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2012 the original author or authors. * Copyright 2002-2018 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@@ -18,6 +18,7 @@ package org.springframework.context.annotation.configuration;
import org.junit.Test; import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowire;
import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.beans.factory.support.AbstractBeanDefinition;
import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.beans.factory.support.DefaultListableBeanFactory;
@@ -41,9 +42,20 @@ import static org.junit.Assert.*;
* correctly into the resulting BeanDefinition * correctly into the resulting BeanDefinition
* *
* @author Chris Beams * @author Chris Beams
* @author Juergen Hoeller
*/ */
public class BeanAnnotationAttributePropagationTests { public class BeanAnnotationAttributePropagationTests {
@Test
public void autowireMetadataIsPropagated() {
@Configuration class Config {
@Bean(autowire=Autowire.BY_TYPE) Object foo() { return null; }
}
assertEquals("autowire mode was not propagated",
AbstractBeanDefinition.AUTOWIRE_BY_TYPE, beanDef(Config.class).getAutowireMode());
}
@Test @Test
public void initMethodMetadataIsPropagated() { public void initMethodMetadataIsPropagated() {
@Configuration class Config { @Configuration class Config {
@@ -138,7 +150,7 @@ public class BeanAnnotationAttributePropagationTests {
@Test @Test
public void eagerConfigurationProducesEagerBeanDefinitions() { public void eagerConfigurationProducesEagerBeanDefinitions() {
@Lazy(false) @Configuration class Config { // will probably never happen, doesn't make much sense @Lazy(false) @Configuration class Config { // will probably never happen, doesn't make much sense
@Bean Object foo() { return null; } @Bean Object foo() { return null; }
} }