From 7c33c707425e8a3a22b6ef4804d958dccd6cd930 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Fri, 27 Nov 2020 21:58:55 +0100 Subject: [PATCH] Polishing --- gradle/ide.gradle | 3 +-- .../beans/factory/BeanFactoryUtilsTests.java | 27 +++++++++++-------- .../asciidoc/languages/dynamic-languages.adoc | 12 ++++----- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/gradle/ide.gradle b/gradle/ide.gradle index 554d4b3c54..acb37abadb 100644 --- a/gradle/ide.gradle +++ b/gradle/ide.gradle @@ -29,12 +29,11 @@ eclipse.classpath.file.whenMerged { classpath -> classpath.entries.removeAll { entry -> (entry.path =~ /(?!.*?repack.*\.jar).*?\/([^\/]+)\/build\/libs\/[^\/]+\.jar/) } } - // Use separate main/test outputs (prevents WTP from packaging test classes) eclipse.classpath.defaultOutputDir = file(project.name+"/bin/eclipse") eclipse.classpath.file.beforeMerged { classpath -> classpath.entries.findAll{ it instanceof SourceFolder }.each { - if(it.output.startsWith("bin/")) { + if (it.output.startsWith("bin/")) { it.output = null } } diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/BeanFactoryUtilsTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/BeanFactoryUtilsTests.java index d70a7bbd1b..e869c9c6c9 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/BeanFactoryUtilsTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/BeanFactoryUtilsTests.java @@ -63,9 +63,8 @@ public class BeanFactoryUtilsTests { @BeforeEach - public void setUp() { + public void setup() { // Interesting hierarchical factory to test counts. - // Slow to read so we cache it. DefaultListableBeanFactory grandParent = new DefaultListableBeanFactory(); new XmlBeanDefinitionReader(grandParent).loadBeanDefinitions(ROOT_CONTEXT); @@ -93,7 +92,7 @@ public class BeanFactoryUtilsTests { * Check that override doesn't count as two separate beans. */ @Test - public void testHierarchicalCountBeansWithOverride() throws Exception { + public void testHierarchicalCountBeansWithOverride() { // Leaf count assertThat(this.listableBeanFactory.getBeanDefinitionCount() == 1).isTrue(); // Count minus duplicate @@ -101,14 +100,14 @@ public class BeanFactoryUtilsTests { } @Test - public void testHierarchicalNamesWithNoMatch() throws Exception { + public void testHierarchicalNamesWithNoMatch() { List names = Arrays.asList( BeanFactoryUtils.beanNamesForTypeIncludingAncestors(this.listableBeanFactory, NoOp.class)); assertThat(names.size()).isEqualTo(0); } @Test - public void testHierarchicalNamesWithMatchOnlyInRoot() throws Exception { + public void testHierarchicalNamesWithMatchOnlyInRoot() { List names = Arrays.asList( BeanFactoryUtils.beanNamesForTypeIncludingAncestors(this.listableBeanFactory, IndexedTestBean.class)); assertThat(names.size()).isEqualTo(1); @@ -118,7 +117,7 @@ public class BeanFactoryUtilsTests { } @Test - public void testGetBeanNamesForTypeWithOverride() throws Exception { + public void testGetBeanNamesForTypeWithOverride() { List names = Arrays.asList( BeanFactoryUtils.beanNamesForTypeIncludingAncestors(this.listableBeanFactory, ITestBean.class)); // includes 2 TestBeans from FactoryBeans (DummyFactory definitions) @@ -236,7 +235,7 @@ public class BeanFactoryUtilsTests { } @Test - public void testHierarchicalResolutionWithOverride() throws Exception { + public void testHierarchicalResolutionWithOverride() { Object test3 = this.listableBeanFactory.getBean("test3"); Object test = this.listableBeanFactory.getBean("test"); @@ -276,14 +275,14 @@ public class BeanFactoryUtilsTests { } @Test - public void testHierarchicalNamesForAnnotationWithNoMatch() throws Exception { + public void testHierarchicalNamesForAnnotationWithNoMatch() { List names = Arrays.asList( BeanFactoryUtils.beanNamesForAnnotationIncludingAncestors(this.listableBeanFactory, Override.class)); assertThat(names.size()).isEqualTo(0); } @Test - public void testHierarchicalNamesForAnnotationWithMatchOnlyInRoot() throws Exception { + public void testHierarchicalNamesForAnnotationWithMatchOnlyInRoot() { List names = Arrays.asList( BeanFactoryUtils.beanNamesForAnnotationIncludingAncestors(this.listableBeanFactory, TestAnnotation.class)); assertThat(names.size()).isEqualTo(1); @@ -293,7 +292,7 @@ public class BeanFactoryUtilsTests { } @Test - public void testGetBeanNamesForAnnotationWithOverride() throws Exception { + public void testGetBeanNamesForAnnotationWithOverride() { AnnotatedBean annotatedBean = new AnnotatedBean(); this.listableBeanFactory.registerSingleton("anotherAnnotatedBean", annotatedBean); List names = Arrays.asList( @@ -433,6 +432,7 @@ public class BeanFactoryUtilsTests { String basePackage() default ""; } + @Retention(RetentionPolicy.RUNTIME) @ControllerAdvice @interface RestControllerAdvice { @@ -444,18 +444,23 @@ public class BeanFactoryUtilsTests { String basePackage() default ""; } + @ControllerAdvice("com.example") static class ControllerAdviceClass { } + @RestControllerAdvice("com.example") static class RestControllerAdviceClass { } + static class TestBeanSmartFactoryBean implements SmartFactoryBean { private final TestBean testBean = new TestBean("enigma", 42); + private final boolean singleton; + private final boolean prototype; TestBeanSmartFactoryBean(boolean singleton, boolean prototype) { @@ -478,7 +483,7 @@ public class BeanFactoryUtilsTests { return TestBean.class; } - public TestBean getObject() throws Exception { + public TestBean getObject() { // We don't really care if the actual instance is a singleton or prototype // for the tests that use this factory. return this.testBean; diff --git a/src/docs/asciidoc/languages/dynamic-languages.adoc b/src/docs/asciidoc/languages/dynamic-languages.adoc index 3c5535c907..58ef162a20 100644 --- a/src/docs/asciidoc/languages/dynamic-languages.adoc +++ b/src/docs/asciidoc/languages/dynamic-languages.adoc @@ -67,7 +67,7 @@ The following example defines a class that has a dependency on the `Messenger` i The following example implements the `Messenger` interface in Groovy: -[source,java,indent=0] +[source,groovy,indent=0] [subs="verbatim,quotes"] ---- // from the file 'Messenger.groovy' @@ -282,7 +282,7 @@ surrounded by quotation marks. The following listing shows the changes that you (the developer) should make to the `Messenger.groovy` source file when the execution of the program is paused: -[source,java,indent=0] +[source,groovy,indent=0] [subs="verbatim,quotes"] ---- package org.springframework.scripting @@ -371,7 +371,7 @@ constructors and properties 100% clear, the following mixture of code and config does not work: .An approach that cannot work -[source,java,indent=0] +[source,groovy,indent=0] [subs="verbatim,quotes"] ---- // from the file 'Messenger.groovy' @@ -480,9 +480,9 @@ Finally, the following small application exercises the preceding configuration: public class Main { - public static void Main(String[] args) { + public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); - Calculator calc = (Calculator) ctx.getBean("calculator"); + Calculator calc = ctx.getBean("calculator", Calculator.class); System.out.println(calc.add(2, 8)); } } @@ -697,7 +697,7 @@ beans, you have to enable the "`refreshable beans`" functionality. See The following example shows an `org.springframework.web.servlet.mvc.Controller` implemented by using the Groovy dynamic language: -[source,java,indent=0] +[source,groovy,indent=0] [subs="verbatim,quotes"] ---- // from the file '/WEB-INF/groovy/FortuneController.groovy'