diff --git a/pom.xml b/pom.xml
index 6822ae1babef013127b2c5d5caaa24d92b24ff74..916206a55a320a8f777b2a0e76e12a91d54f070a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -46,6 +46,16 @@
4.12
test
+
+ mysql
+ mysql-connector-java
+ 8.0.21
+
+
+ com.alibaba
+ druid
+ 1.2.3
+
\ No newline at end of file
diff --git a/src/main/java/com/kwan/spring5/Orders.java b/src/main/java/com/kwan/spring5/Orders.java
index 8504f0cd59e1f6472a308e6ecd54d7d69585789a..a74053df13c595b7d068a05656ea2ae9787ce641 100644
--- a/src/main/java/com/kwan/spring5/Orders.java
+++ b/src/main/java/com/kwan/spring5/Orders.java
@@ -18,6 +18,13 @@ public class Orders {
*/
private String address;
+ /**
+ * 无参数构造
+ */
+ public Orders() {
+ System.out.println("第一步 执行无参数构造创建 bean 实例");
+ }
+
/**
* 有参数构造
*
@@ -29,6 +36,24 @@ public class Orders {
this.address = address;
}
+ public void setOname(String oname) {
+ this.oname = oname;
+ System.out.println("第二步 调用 set 方法设置属性值");
+ }
+
+ /**
+ * 创建执行的初始化的方法
+ */
+ public void initMethod() {
+ System.out.println("第三步 执行初始化的方法");
+ }
+
+ /**
+ * 创建执行的销毁的方法
+ */
+ public void destroyMethod() {
+ System.out.println("第五步 执行销毁的方法");
+ }
@Override
public String toString() {
diff --git a/src/main/java/com/kwan/spring5/process/MyBeanPost.java b/src/main/java/com/kwan/spring5/process/MyBeanPost.java
new file mode 100644
index 0000000000000000000000000000000000000000..c26acc1d9c1f9034d01807ff02e87b20d5892a1f
--- /dev/null
+++ b/src/main/java/com/kwan/spring5/process/MyBeanPost.java
@@ -0,0 +1,27 @@
+package com.kwan.spring5.process;
+
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.config.BeanPostProcessor;
+
+/**
+ * 创建后置处理器实现类
+ *
+ * @author : qinyingjie
+ * @version : 2.2.0
+ * @date : 2022/11/14 21:31
+ */
+public class MyBeanPost implements BeanPostProcessor {
+
+ @Override
+ public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
+ System.out.println("在初始化之前执行的方法");
+ return bean;
+ }
+
+ @Override
+ public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
+ System.out.println("在初始化之后执行的方法");
+ return bean;
+ }
+}
+
diff --git a/src/main/resources/jdbc.properties b/src/main/resources/jdbc.properties
new file mode 100644
index 0000000000000000000000000000000000000000..14e459f88b47fb37a6cc1c7b1b842ba76d38c58a
--- /dev/null
+++ b/src/main/resources/jdbc.properties
@@ -0,0 +1,4 @@
+prop.driverClass=com.mysql.jdbc.Driver
+prop.url=jdbc:mysql://localhost:3306/kwan
+prop.userName=root
+prop.password=root
\ No newline at end of file
diff --git a/src/main/resources/spring12.xml b/src/main/resources/spring12.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3714b2e8ff483014118ca60f0be2c05ed2c3e2e6
--- /dev/null
+++ b/src/main/resources/spring12.xml
@@ -0,0 +1,25 @@
+
+
+
+
+ 易筋经
+ 九阴真经
+ 九阳神功
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/spring13.xml b/src/main/resources/spring13.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d6a56467497c04ed19689bbbd2c85e9044dff18e
--- /dev/null
+++ b/src/main/resources/spring13.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/spring14.xml b/src/main/resources/spring14.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1fe5ae91cb2d68ade945594057873a7ba1317409
--- /dev/null
+++ b/src/main/resources/spring14.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/spring15.xml b/src/main/resources/spring15.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d830c099feb5716697d05f9bdcdf222240c2da03
--- /dev/null
+++ b/src/main/resources/spring15.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/test/java/Spring_02_UserTest.java b/src/test/java/Spring_00_XmlGetTest.java
similarity index 92%
rename from src/test/java/Spring_02_UserTest.java
rename to src/test/java/Spring_00_XmlGetTest.java
index 42a36320255b4d0ecd93e88360a29782b06e060a..079c9d4618e2ac54678026ba6694e515e1fef2e7 100644
--- a/src/test/java/Spring_02_UserTest.java
+++ b/src/test/java/Spring_00_XmlGetTest.java
@@ -4,13 +4,13 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- * 测试ioc注入
+ * 读取spring配置文件
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/12 18:43
*/
-public class Spring_02_UserTest {
+public class Spring_00_XmlGetTest {
@Test
public void test1() {
diff --git a/src/test/java/Spring_04_BookTest_01.java b/src/test/java/Spring_01_BookTest.java
similarity index 89%
rename from src/test/java/Spring_04_BookTest_01.java
rename to src/test/java/Spring_01_BookTest.java
index 36689ad53442deeef4a7081bacbcf69993f34645..2040437b083dc2bf7d2e99c8169c7d52a045883b 100644
--- a/src/test/java/Spring_04_BookTest_01.java
+++ b/src/test/java/Spring_01_BookTest.java
@@ -4,13 +4,13 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- * 测试ioc注入
+ * 测试ioc注入bean
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/12 18:43
*/
-public class Spring_04_BookTest_01 {
+public class Spring_01_BookTest {
@Test
public void test1() {
diff --git a/src/test/java/Spring_03_OrdersTest.java b/src/test/java/Spring_01_OrdersTest.java
similarity index 89%
rename from src/test/java/Spring_03_OrdersTest.java
rename to src/test/java/Spring_01_OrdersTest.java
index 3b58db05b1491897030b133fd44714463e38b9cb..e7004e049297fe7837f9e8338003d82e3ee3ef9f 100644
--- a/src/test/java/Spring_03_OrdersTest.java
+++ b/src/test/java/Spring_01_OrdersTest.java
@@ -4,13 +4,13 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- * 测试ioc注入
+ * 测试ioc注入bean
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/12 18:43
*/
-public class Spring_03_OrdersTest {
+public class Spring_01_OrdersTest {
@Test
public void test1() {
diff --git a/src/test/java/Spring_01_XmlGetTest.java b/src/test/java/Spring_01_UserTest.java
similarity index 93%
rename from src/test/java/Spring_01_XmlGetTest.java
rename to src/test/java/Spring_01_UserTest.java
index f3774c7286ad62e2c1d5a0eadc366b02ba740672..208668bc4522e6b7166852d9c6b466d2e202a2e9 100644
--- a/src/test/java/Spring_01_XmlGetTest.java
+++ b/src/test/java/Spring_01_UserTest.java
@@ -4,13 +4,13 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- * 测试ioc注入
+ * 测试ioc注入bean
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/12 18:43
*/
-public class Spring_01_XmlGetTest {
+public class Spring_01_UserTest {
@Test
public void test1() {
diff --git a/src/test/java/Spring_04_BookTest_02.java b/src/test/java/Spring_02_BookTest.java
similarity index 89%
rename from src/test/java/Spring_04_BookTest_02.java
rename to src/test/java/Spring_02_BookTest.java
index 746513fc4a24c689c35c3350bd223a9d809a6acc..14b3c10cb217fcd55d9c08ad4df4d30ffc1e27b4 100644
--- a/src/test/java/Spring_04_BookTest_02.java
+++ b/src/test/java/Spring_02_BookTest.java
@@ -4,13 +4,13 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- * 测试ioc注入
+ * p-命名空间
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/12 18:43
*/
-public class Spring_04_BookTest_02 {
+public class Spring_02_BookTest {
@Test
public void test1() {
diff --git a/src/test/java/Spring_04_BookTest_03.java b/src/test/java/Spring_03_BookTest.java
similarity index 89%
rename from src/test/java/Spring_04_BookTest_03.java
rename to src/test/java/Spring_03_BookTest.java
index a35e964592dd4e419e3b1dcacbd5e97fc9760740..1bebd9fb423d16fb0103f40da0b3fb040231f638 100644
--- a/src/test/java/Spring_04_BookTest_03.java
+++ b/src/test/java/Spring_03_BookTest.java
@@ -4,13 +4,13 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- * 测试ioc注入
+ * null和特殊符号
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/12 18:43
*/
-public class Spring_04_BookTest_03 {
+public class Spring_03_BookTest {
@Test
public void test1() {
diff --git a/src/test/java/Spring_05_UserServiceTest.java b/src/test/java/Spring_04_UserServiceTest.java
similarity index 88%
rename from src/test/java/Spring_05_UserServiceTest.java
rename to src/test/java/Spring_04_UserServiceTest.java
index 78c8f08b58c32ad41f74948c70c5405599b5a92d..25567ccf8df25306cb4958e063cd1df94d6a6877 100644
--- a/src/test/java/Spring_05_UserServiceTest.java
+++ b/src/test/java/Spring_04_UserServiceTest.java
@@ -4,13 +4,13 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- * 测试ioc注入
+ * service和dao对象创建
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/12 18:43
*/
-public class Spring_05_UserServiceTest {
+public class Spring_04_UserServiceTest {
@Test
public void test2() {
diff --git a/src/test/java/Spring_06_DeptTest_01.java b/src/test/java/Spring_05_DeptTest.java
similarity index 89%
rename from src/test/java/Spring_06_DeptTest_01.java
rename to src/test/java/Spring_05_DeptTest.java
index 75a65d6e7ec836d231d074d672ca05cf0f261645..5166332530ce6ff0a46e38a96516385e20a748cc 100644
--- a/src/test/java/Spring_06_DeptTest_01.java
+++ b/src/test/java/Spring_05_DeptTest.java
@@ -4,13 +4,13 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- * 测试ioc注入
+ * 内部bean
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/12 18:43
*/
-public class Spring_06_DeptTest_01 {
+public class Spring_05_DeptTest {
@Test
public void test1() {
diff --git a/src/test/java/Spring_06_DeptTest_02.java b/src/test/java/Spring_06_DeptTest.java
similarity index 89%
rename from src/test/java/Spring_06_DeptTest_02.java
rename to src/test/java/Spring_06_DeptTest.java
index 0021576cc817f5baa8b851c2d8192115e879f970..fc08b5c51ffc1acb4a780bf374561e75bfe3dafe 100644
--- a/src/test/java/Spring_06_DeptTest_02.java
+++ b/src/test/java/Spring_06_DeptTest.java
@@ -4,13 +4,13 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- * 测试ioc注入
+ * 级联赋值
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/12 18:43
*/
-public class Spring_06_DeptTest_02 {
+public class Spring_06_DeptTest {
@Test
public void test1() {
diff --git a/src/test/java/Spring_06_DeptTest_03.java b/src/test/java/Spring_07_DeptTest.java
similarity index 89%
rename from src/test/java/Spring_06_DeptTest_03.java
rename to src/test/java/Spring_07_DeptTest.java
index bff445b6ad56acfa746d6f0ee07c9cc12c226323..d02ac47bf3a72e5c0dff7de7ffe1c3e2e15fd52d 100644
--- a/src/test/java/Spring_06_DeptTest_03.java
+++ b/src/test/java/Spring_07_DeptTest.java
@@ -4,13 +4,13 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- * 测试ioc注入
+ * 对象属性
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/12 18:43
*/
-public class Spring_06_DeptTest_03 {
+public class Spring_07_DeptTest {
@Test
public void test1() {
diff --git a/src/test/java/Spring_07_StuTest_01.java b/src/test/java/Spring_08_StuTest.java
similarity index 89%
rename from src/test/java/Spring_07_StuTest_01.java
rename to src/test/java/Spring_08_StuTest.java
index e186c0ed207cd98b377569fb376d79f654484fbc..85040ae4c19d9ba1f2c78593be0646972f64537d 100644
--- a/src/test/java/Spring_07_StuTest_01.java
+++ b/src/test/java/Spring_08_StuTest.java
@@ -4,13 +4,13 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- * 测试ioc注入
+ * 数组集合
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/12 18:43
*/
-public class Spring_07_StuTest_01 {
+public class Spring_08_StuTest {
@Test
public void test1() {
diff --git a/src/test/java/Spring_07_StuTest_02.java b/src/test/java/Spring_09_StuTest.java
similarity index 89%
rename from src/test/java/Spring_07_StuTest_02.java
rename to src/test/java/Spring_09_StuTest.java
index 1be840fa378621729657615789364c333ad17bd3..bdd69f27f2ca91cb945abbe3bb4baf087b82ccaa 100644
--- a/src/test/java/Spring_07_StuTest_02.java
+++ b/src/test/java/Spring_09_StuTest.java
@@ -4,13 +4,13 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- * 测试ioc注入
+ * 对象list
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/12 18:43
*/
-public class Spring_07_StuTest_02 {
+public class Spring_09_StuTest {
@Test
public void test1() {
diff --git a/src/test/java/Spring_08_BookTest.java b/src/test/java/Spring_10_BookTest.java
similarity index 90%
rename from src/test/java/Spring_08_BookTest.java
rename to src/test/java/Spring_10_BookTest.java
index 8608ec6396c888ffc921702253eb40802925a792..a914de427d5e41b25cb880c257170bbb03107bb3 100644
--- a/src/test/java/Spring_08_BookTest.java
+++ b/src/test/java/Spring_10_BookTest.java
@@ -4,13 +4,13 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- * 测试ioc注入
+ * util命名空间
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/12 18:43
*/
-public class Spring_08_BookTest {
+public class Spring_10_BookTest {
@Test
public void test1() {
diff --git a/src/test/java/Spring_09_FactoryBeanTest.java b/src/test/java/Spring_11_FactoryBeanTest.java
similarity index 90%
rename from src/test/java/Spring_09_FactoryBeanTest.java
rename to src/test/java/Spring_11_FactoryBeanTest.java
index ae3d2183406acffc3a50f37dc7349230de2dd240..bf3525e1f2e745a29dac78d981be7b7d76188f91 100644
--- a/src/test/java/Spring_09_FactoryBeanTest.java
+++ b/src/test/java/Spring_11_FactoryBeanTest.java
@@ -4,13 +4,13 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- * 测试ioc注入
+ * FactoryBean测试
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/12 18:43
*/
-public class Spring_09_FactoryBeanTest {
+public class Spring_11_FactoryBeanTest {
@Test
public void test3() {
diff --git a/src/test/java/Spring_12_ScopeTest.java b/src/test/java/Spring_12_ScopeTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..cc2463ed254b1c8821b505d1946f5ebe2927255c
--- /dev/null
+++ b/src/test/java/Spring_12_ScopeTest.java
@@ -0,0 +1,26 @@
+import com.kwan.spring5.Book;
+import org.junit.Test;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+/**
+ * 作用域
+ *
+ * @author : qinyingjie
+ * @version : 2.2.0
+ * @date : 2022/11/12 18:43
+ */
+public class Spring_12_ScopeTest {
+
+ @Test
+ public void test3() {
+ ApplicationContext context =
+ new ClassPathXmlApplicationContext("spring12.xml");
+ Book book1 = context.getBean("book", Book.class);//返回值类型可以不是定义的bean类型!
+ Book book2 = context.getBean("book", Book.class);//返回值类型可以不是定义的bean类型!
+ System.out.println(book1);
+ System.out.println(book1);
+ System.out.println(book1.equals(book2));
+ }
+
+}
diff --git a/src/test/java/Spring_13_MyBeanPostTest.java b/src/test/java/Spring_13_MyBeanPostTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..aec5551416f69b2de4cda43cd3b87a8a4c0f1f5f
--- /dev/null
+++ b/src/test/java/Spring_13_MyBeanPostTest.java
@@ -0,0 +1,26 @@
+import com.kwan.spring5.Orders;
+import org.junit.Test;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+/**
+ * bean的生命周期
+ *
+ * @author : qinyingjie
+ * @version : 2.2.0
+ * @date : 2022/11/12 18:43
+ */
+public class Spring_13_MyBeanPostTest {
+
+ @Test
+ public void testBean3() {
+ ClassPathXmlApplicationContext context =
+ new ClassPathXmlApplicationContext("spring13.xml");
+ Orders orders = context.getBean("orders", Orders.class);
+ System.out.println("第四步 获取创建 bean 实例对象");
+ System.out.println(orders);
+ //手动让 bean 实例销毁
+ context.close();
+ }
+
+
+}
diff --git a/src/test/java/Spring_14_DruidDataSourceTest.java b/src/test/java/Spring_14_DruidDataSourceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..ae4399d11a28234862077dac401fe39d151928fa
--- /dev/null
+++ b/src/test/java/Spring_14_DruidDataSourceTest.java
@@ -0,0 +1,24 @@
+import com.alibaba.druid.pool.DruidDataSource;
+import org.junit.Test;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+/**
+ * 获取连接池的bean
+ *
+ * @author : qinyingjie
+ * @version : 2.2.0
+ * @date : 2022/11/12 18:43
+ */
+public class Spring_14_DruidDataSourceTest {
+
+ @Test
+ public void testBean3() {
+ ClassPathXmlApplicationContext context =
+ new ClassPathXmlApplicationContext("spring14.xml");
+ DruidDataSource dataSource = context.getBean("dataSource", DruidDataSource.class);
+ System.out.println(dataSource.getPassword());
+ System.out.println(dataSource.getUsername());
+ System.out.println(dataSource.getUrl());
+ System.out.println(dataSource.getDriverClassName());
+ }
+}
diff --git a/src/test/java/Spring_15_DruidDataSourceTest.java b/src/test/java/Spring_15_DruidDataSourceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..1f26389dce64aabcdc586a09773716c3d43e27a9
--- /dev/null
+++ b/src/test/java/Spring_15_DruidDataSourceTest.java
@@ -0,0 +1,24 @@
+import com.alibaba.druid.pool.DruidDataSource;
+import org.junit.Test;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+/**
+ * 引入外部文件
+ *
+ * @author : qinyingjie
+ * @version : 2.2.0
+ * @date : 2022/11/12 18:43
+ */
+public class Spring_15_DruidDataSourceTest {
+
+ @Test
+ public void testBean3() {
+ ClassPathXmlApplicationContext context =
+ new ClassPathXmlApplicationContext("spring15.xml");
+ DruidDataSource dataSource = context.getBean("dataSource", DruidDataSource.class);
+ System.out.println(dataSource.getPassword());
+ System.out.println(dataSource.getUsername());
+ System.out.println(dataSource.getUrl());
+ System.out.println(dataSource.getDriverClassName());
+ }
+}