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 @@
+
+