diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 7ca1f95..bfba7ad 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -7,6 +7,7 @@
+
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index 0796e1b..eff771a 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -3,5 +3,7 @@
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 0a83112..92a23a4 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -5,6 +5,7 @@
diff --git a/springLearn202503/src/main/java/com/sec/Main.java b/springLearn202503/src/main/java/com/sec/Main.java
index eeb8df7..50ffa0f 100644
--- a/springLearn202503/src/main/java/com/sec/Main.java
+++ b/springLearn202503/src/main/java/com/sec/Main.java
@@ -4,6 +4,7 @@ import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidPooledConnection;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.sec.dao.UserDao;
+import com.sec.service.UserService;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
@@ -21,7 +22,8 @@ public class Main {
static String password = "";
public static void main(String[] args) {
- Main.getSpring();
+// Main.getSpring();
+ Main.getSpring1();
Main.getSetting();
Main.getDruid();
Main.getC3p0();
@@ -42,6 +44,12 @@ public class Main {
// userDao.getData();
}
+ public static void getSpring1(){
+ ClassPathXmlApplicationContext application=new ClassPathXmlApplicationContext("application.xml");
+ UserService userService= (UserService)application.getBean("UserService");
+ userService.getUser();
+ }
+
//读取properties文件 对数据库连接信息进行设置
//目的是为了将配置信息与代码进行解耦
public static void getSetting(){
@@ -52,6 +60,7 @@ public class Main {
password=rb.getString("jdbc.password");
}
+ //数据库连接池
public static void getDruid(){
DruidDataSource druidDataSource=new DruidDataSource();
druidDataSource.setDriverClassName(driver);
diff --git a/springLearn202503/src/main/java/com/sec/service/UserService.java b/springLearn202503/src/main/java/com/sec/service/UserService.java
new file mode 100644
index 0000000..144addb
--- /dev/null
+++ b/springLearn202503/src/main/java/com/sec/service/UserService.java
@@ -0,0 +1,10 @@
+package com.sec.service;
+
+import com.sec.dao.UserDao;
+import com.sec.dao.impl.UserDaoImpl;
+
+public interface UserService {
+
+
+ public void getUser();
+}
diff --git a/springLearn202503/src/main/java/com/sec/service/impl/UserServiceImpl.java b/springLearn202503/src/main/java/com/sec/service/impl/UserServiceImpl.java
new file mode 100644
index 0000000..698a1a2
--- /dev/null
+++ b/springLearn202503/src/main/java/com/sec/service/impl/UserServiceImpl.java
@@ -0,0 +1,20 @@
+package com.sec.service.impl;
+
+import com.sec.dao.UserDao;
+import com.sec.service.UserService;
+
+public class UserServiceImpl implements UserService {
+ public UserDao userDao;
+ /* public void setUserDao(UserDao userDao){
+ this.userDao = userDao;
+ };*/
+
+ public UserServiceImpl(UserDao userDao) {
+ this.userDao = userDao;
+ }
+
+ @Override
+ public void getUser() {
+ userDao.getData();
+ }
+}
diff --git a/springLearn202503/src/main/resources/application.xml b/springLearn202503/src/main/resources/application.xml
index 07e16a7..e72ae59 100644
--- a/springLearn202503/src/main/resources/application.xml
+++ b/springLearn202503/src/main/resources/application.xml
@@ -3,7 +3,18 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/springLearn202503/target/classes/application.xml b/springLearn202503/target/classes/application.xml
index 07e16a7..91b9cce 100644
--- a/springLearn202503/target/classes/application.xml
+++ b/springLearn202503/target/classes/application.xml
@@ -3,7 +3,13 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/springLearn202503/target/classes/com/sec/Main.class b/springLearn202503/target/classes/com/sec/Main.class
index ee23e5e..b636ceb 100644
Binary files a/springLearn202503/target/classes/com/sec/Main.class and b/springLearn202503/target/classes/com/sec/Main.class differ
diff --git a/springLearn20250422/pom.xml b/springLearn20250422/pom.xml
new file mode 100644
index 0000000..16b0525
--- /dev/null
+++ b/springLearn20250422/pom.xml
@@ -0,0 +1,34 @@
+
+
+ 4.0.0
+
+ com.sec
+ springLearn20250422
+ 1.0-SNAPSHOT
+
+
+ 8
+ 8
+ UTF-8
+
+
+
+ org.springframework
+ spring-context
+ 5.3.21
+
+
+ mysql
+ mysql-connector-java
+ 8.0.23
+
+
+ com.alibaba
+ druid
+ 1.1.22
+
+
+
+
\ No newline at end of file
diff --git a/springLearn20250422/src/main/java/com/sec/config/JdbcConfig.java b/springLearn20250422/src/main/java/com/sec/config/JdbcConfig.java
new file mode 100644
index 0000000..f8f5d13
--- /dev/null
+++ b/springLearn20250422/src/main/java/com/sec/config/JdbcConfig.java
@@ -0,0 +1,34 @@
+package com.sec.config;
+
+
+import com.alibaba.druid.pool.DruidDataSource;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.PropertySource;
+
+/*
+* 在多个配置的情况下 配置文件根据不同功能进行拆分
+* 在主配置中导入即可
+*
+ */
+@PropertySource("classpath:jdbc.properties")
+public class JdbcConfig {
+ @Value("${jdbc.driver}")
+ private String driverClassName ;
+ @Value("${jdbc.url}")
+ private String jdbcUrl;
+ @Value("${jdbc.user}")
+ private String username ;
+ @Value("${jdbc.password}")
+ private String password;
+
+ @Bean("DruidDataSource")
+ public DruidDataSource getDruidDataSource() {
+ DruidDataSource druidDataSource = new DruidDataSource();
+ druidDataSource.setDriverClassName(driverClassName);
+ druidDataSource.setUrl(jdbcUrl);
+ druidDataSource.setUsername(username);
+ druidDataSource.setPassword(password);
+ return druidDataSource;
+ }
+}
diff --git a/springLearn20250422/src/main/java/com/sec/config/LearnConfig.java b/springLearn20250422/src/main/java/com/sec/config/LearnConfig.java
new file mode 100644
index 0000000..577cca4
--- /dev/null
+++ b/springLearn20250422/src/main/java/com/sec/config/LearnConfig.java
@@ -0,0 +1,19 @@
+package com.sec.config;
+
+import com.alibaba.druid.pool.DruidDataSource;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.*;
+
+/*
+* @Configuration 表明当前类是 配置类
+* @ComponentScan扫描对应文件下的注解格式的bean进行注入
+* @PropertySource加载对应的属性文件 用@Value将数据进行注入赋值
+* @Value简单类型注入 直接@Value("要注入的数据")
+* 将属性文件的变量数值进行注入 @Value("${要注入的数据变量名称}") 配合@PropertySource使用
+* */
+@Configuration
+@ComponentScan("com.sec")
+@Import(JdbcConfig.class)
+public class LearnConfig {
+
+}
diff --git a/springLearn20250422/src/main/java/com/sec/dao/LearnDao.java b/springLearn20250422/src/main/java/com/sec/dao/LearnDao.java
new file mode 100644
index 0000000..c72ee00
--- /dev/null
+++ b/springLearn20250422/src/main/java/com/sec/dao/LearnDao.java
@@ -0,0 +1,5 @@
+package com.sec.dao;
+
+public interface LearnDao {
+ public void getLearnData();
+}
diff --git a/springLearn20250422/src/main/java/com/sec/dao/impl/LearnDaoImpl.java b/springLearn20250422/src/main/java/com/sec/dao/impl/LearnDaoImpl.java
new file mode 100644
index 0000000..af9124c
--- /dev/null
+++ b/springLearn20250422/src/main/java/com/sec/dao/impl/LearnDaoImpl.java
@@ -0,0 +1,37 @@
+package com.sec.dao.impl;
+
+import com.alibaba.druid.pool.DruidDataSource;
+import com.alibaba.druid.pool.DruidPooledConnection;
+import com.sec.dao.LearnDao;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Repository;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+/*
+* @Component该类为spring管理的bean
+* 其衍生了三种注解
+* @Controller 表现层
+* @Service 业务层
+* @Repository 数据层
+* */
+@Repository
+public class LearnDaoImpl implements LearnDao {
+ @Autowired
+ private DruidDataSource druidDataSource;
+ @Override
+ public void getLearnData() {
+ try {
+ DruidPooledConnection connection = druidDataSource.getConnection();
+ Statement statement = connection.createStatement();
+ ResultSet resultSet = statement.executeQuery("select * from user_info");
+ while (resultSet.next()) {
+ System.out.println(resultSet.getString("user_name"));
+ }
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
diff --git a/springLearn20250422/src/main/java/com/sec/service/LearnService.java b/springLearn20250422/src/main/java/com/sec/service/LearnService.java
new file mode 100644
index 0000000..2bb4f52
--- /dev/null
+++ b/springLearn20250422/src/main/java/com/sec/service/LearnService.java
@@ -0,0 +1,5 @@
+package com.sec.service;
+
+public interface LearnService {
+ public void learn();
+}
diff --git a/springLearn20250422/src/main/java/com/sec/service/impl/LearnServiceImpl.java b/springLearn20250422/src/main/java/com/sec/service/impl/LearnServiceImpl.java
new file mode 100644
index 0000000..ed2a0f5
--- /dev/null
+++ b/springLearn20250422/src/main/java/com/sec/service/impl/LearnServiceImpl.java
@@ -0,0 +1,17 @@
+package com.sec.service.impl;
+
+import com.sec.dao.LearnDao;
+import com.sec.service.LearnService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class LearnServiceImpl implements LearnService {
+
+ @Autowired
+ public LearnDao learnDao;
+ @Override
+ public void learn() {
+ learnDao.getLearnData();
+ }
+}
diff --git a/springLearn20250422/src/main/resources/application.xml b/springLearn20250422/src/main/resources/application.xml
new file mode 100644
index 0000000..8477835
--- /dev/null
+++ b/springLearn20250422/src/main/resources/application.xml
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/springLearn20250422/src/main/resources/jdbc.properties b/springLearn20250422/src/main/resources/jdbc.properties
new file mode 100644
index 0000000..91c1702
--- /dev/null
+++ b/springLearn20250422/src/main/resources/jdbc.properties
@@ -0,0 +1,4 @@
+jdbc.driver=com.mysql.jdbc.Driver
+jdbc.url=jdbc:mysql://47.103.155.22:3306/learn_spring
+jdbc.user=root
+jdbc.password=mysql_wafeYX
\ No newline at end of file