diff --git a/spring-framework/src/main/java/cases/constructorArgWithIndex/ConstructorArgWithIndexDemo.java b/spring-framework/src/main/java/cases/constructorArgWithIndex/ConstructorArgWithIndexDemo.java new file mode 100644 index 0000000..8313f2d --- /dev/null +++ b/spring-framework/src/main/java/cases/constructorArgWithIndex/ConstructorArgWithIndexDemo.java @@ -0,0 +1,23 @@ +package cases.constructorArgWithIndex; + +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +/** + * https://mp.weixin.qq.com/s/bIpnXFTXuNq5WzBlRdVVNQ + *

文章修复了一个代码的问题,当时我测试的时候并没有发现修改之前会有异常,可能是修复之后使代码更加合理吧。 + *

文章修复的问题 5.2.7 发布了,issues: https://github.com/spring-projects/spring-framework/issues/25130 + * + * @author wanghuanyu + */ +public class ConstructorArgWithIndexDemo { + + public static void main(String[] args) { + ApplicationContext applicationContext = new ClassPathXmlApplicationContext( + "classpath:META-INF/cases/constructorArgWithIndex.xml"); + + DmzService service = applicationContext.getBean("dmzService", DmzService.class); + System.out.println(service); + + } +} diff --git a/spring-framework/src/main/java/cases/constructorArgWithIndex/DmzService.java b/spring-framework/src/main/java/cases/constructorArgWithIndex/DmzService.java new file mode 100644 index 0000000..f5ef575 --- /dev/null +++ b/spring-framework/src/main/java/cases/constructorArgWithIndex/DmzService.java @@ -0,0 +1,19 @@ +package cases.constructorArgWithIndex; + +/** + * @author wanghuanyu + */ +public class DmzService { + + private String name; + private OrderService orderService; + + public DmzService(OrderService orderService, String name) { + this.orderService = orderService; + this.name = name; + } + + public DmzService(String name) { + this.name = name; + } +} diff --git a/spring-framework/src/main/java/cases/constructorArgWithIndex/FactoryObject.java b/spring-framework/src/main/java/cases/constructorArgWithIndex/FactoryObject.java new file mode 100644 index 0000000..2d0c836 --- /dev/null +++ b/spring-framework/src/main/java/cases/constructorArgWithIndex/FactoryObject.java @@ -0,0 +1,30 @@ +package cases.constructorArgWithIndex; + +import java.util.Date; + +/** + * @author wanghuanyu + */ +public class FactoryObject { + + public DmzService getDmz(String name, int age, Date birthDay, OrderService orderService) { + return new DmzService(orderService, name); + } + + public DmzService getDmz(String name, Date birthday) { + return new DmzService(name); + } + +// public DmzService getDmz(String name, OrderService orderService) { +// return new DmzService(name); +// } + + public DmzService getDmz(String name, int age) { + return new DmzService(name); + } + + public DmzService getDmz(String name) { + return new DmzService(name); + } + +} \ No newline at end of file diff --git a/spring-framework/src/main/java/cases/constructorArgWithIndex/OrderService.java b/spring-framework/src/main/java/cases/constructorArgWithIndex/OrderService.java new file mode 100644 index 0000000..e29deb8 --- /dev/null +++ b/spring-framework/src/main/java/cases/constructorArgWithIndex/OrderService.java @@ -0,0 +1,8 @@ +package cases.constructorArgWithIndex; + +/** + * @author wanghuanyu + */ +public class OrderService { + +} diff --git a/spring-framework/src/main/resources/META-INF/cases/constructorArgWithIndex.xml b/spring-framework/src/main/resources/META-INF/cases/constructorArgWithIndex.xml new file mode 100644 index 0000000..403774c --- /dev/null +++ b/spring-framework/src/main/resources/META-INF/cases/constructorArgWithIndex.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + +