From 94c5aeec7eab664b4ec6c6f169d40e6825d9a53e Mon Sep 17 00:00:00 2001 From: zhangqingqing Date: Tue, 22 Apr 2025 11:06:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=A8=E8=A7=A3=E9=85=8D=E7=BD=AE=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/compiler.xml | 1 + .idea/encodings.xml | 2 + .idea/misc.xml | 1 + .../src/main/java/com/sec/Main.java | 11 +++++- .../java/com/sec/service/UserService.java | 10 +++++ .../com/sec/service/impl/UserServiceImpl.java | 20 ++++++++++ .../src/main/resources/application.xml | 17 ++++++-- .../target/classes/application.xml | 12 ++++-- .../target/classes/com/sec/Main.class | Bin 4051 -> 4285 bytes springLearn20250422/pom.xml | 34 ++++++++++++++++ .../main/java/com/sec/config/JdbcConfig.java | 34 ++++++++++++++++ .../main/java/com/sec/config/LearnConfig.java | 19 +++++++++ .../src/main/java/com/sec/dao/LearnDao.java | 5 +++ .../java/com/sec/dao/impl/LearnDaoImpl.java | 37 ++++++++++++++++++ .../java/com/sec/service/LearnService.java | 5 +++ .../sec/service/impl/LearnServiceImpl.java | 17 ++++++++ .../src/main/resources/application.xml | 5 +++ .../src/main/resources/jdbc.properties | 4 ++ 18 files changed, 227 insertions(+), 7 deletions(-) create mode 100644 springLearn202503/src/main/java/com/sec/service/UserService.java create mode 100644 springLearn202503/src/main/java/com/sec/service/impl/UserServiceImpl.java create mode 100644 springLearn20250422/pom.xml create mode 100644 springLearn20250422/src/main/java/com/sec/config/JdbcConfig.java create mode 100644 springLearn20250422/src/main/java/com/sec/config/LearnConfig.java create mode 100644 springLearn20250422/src/main/java/com/sec/dao/LearnDao.java create mode 100644 springLearn20250422/src/main/java/com/sec/dao/impl/LearnDaoImpl.java create mode 100644 springLearn20250422/src/main/java/com/sec/service/LearnService.java create mode 100644 springLearn20250422/src/main/java/com/sec/service/impl/LearnServiceImpl.java create mode 100644 springLearn20250422/src/main/resources/application.xml create mode 100644 springLearn20250422/src/main/resources/jdbc.properties 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 ee23e5e2efc29fa5c3fb54f06832a484699ab11e..b636cebe4c39f6708fa8a9615188ab51e13ed241 100644 GIT binary patch delta 2013 zcmZvdd0bRg6vuyWfVpqpJXD@+f?$@S&IpL8h)XIisSIVA8EPuRh?oKmilya**{T-x z%CyC7F>SF@Y7lYDvT|v)eKFg!)$0G~cOD@4`Si#9&b#N`bI!frd+wW)z4rGGANzOj z0RThrkAX?3GcXZrL~apTD{`yCZ8~l@;Km&~?i72M!a5JuV}pUaagTWFb=<3PpBLR= z>$u;*1K6nJL9v@WOtM+WLt-D+@rc+*b!-tEeoSGjfi$U{hQ~#o5P4GMDUoeDo;I)@ zJG^)X&wBA3o>$mupg-z#yddLEGI&wPOFDMR<8E11gS@Gin0kq>S9n?B6$3*NQD`)f zCl&KBe2-|8$X*ea%tNym`>xF71(E^hJO1UNB_^iG*wZ>@ViQxv5$iarOKNIXRE5e+6k@WyCB~oh1&*8e zQsgUc+wX3~}{Vt==%@JT>8r5{3V{kdH z;K+mNxYC)s)0>_ra}yCmO+ge=8P}6D(ioH8DK-`}aFr7~v#pNH%n5hIX23u{#A5(6 z_|OZPPHZAv^e5tK6f-uSIcH%uD|@8JWCirjW>pt$YBSu$mTH7v=(D;;U>riXfWHZG z8g}uu3sTG?3}6tG<}h7&FxQ;hsZ!jzN($Ftu2YGP+*YZANrZ{tvi6`mtHei;(11jr zmE=4m`>Y<$LyFHzbsla57>RIijN)!bpX204U(81dCwk=WwAR(8 zanZ8u_032tZbW*aZ#NPn=tYwp!38ua5%i|%8Nr3V2rdfvtv(U-EgIN_3_{9mLO%_g zk+U0SGx{^dfK1ER1b^6t2nJf2luRp&4rd%eb_9dAx13-cKN3tbSc5-;-0g@BG-GJ7 zzY)U@?&9M5U^VLa5sq@$PC^_PIgU+Mz#Wd~u}xqbOysP|Jk}|sK9ygoLX2grRr2VT zf#<)Hdtc3ds$*}hVRx-#XGzBmVMh&M&y=E!g$8kY5DUpakDXkOMJ&07j4H60Z*{E2 zwOGQarTq0lbPK0ND^x1*D^jg+9WbngXRpyG67n#XpQUgc;Gs+>fR{ESk93B&0nTp) zJfaow$X39k2za#g)x{c$23lj9FxJ(9IG%`G*$PTRJVSirh_49+8b9dg0d$4A^m#n! z@ol!9WC8z=fSL3bljJOtoK2E*xV5>2GLJasvx`c|c>&RtaaNGtMI0?8uyUfP=mc>X zeajq(*;tNRLd-{o12G)MS3+@xLotZ!aYJW{`9g7}!YYLu9g00#&_w{Q6uHU61+H%I qQYMwV0VG%xcqc@XMN&kZd!Ti?f!%q$@rW~!zzrrcGR#O9ZvGF?u8I`^ delta 1781 zcmZ9L=X+FD5QpEp+3dZ$xe>U8G$a9pKsJrCB!(goQ6YsYC4%CnsKFFWLJ^deVhbqh zqKLgA*iZ;AgwRB6fE9c1%18bIoH*@BmnRDhn=NuYzIx}+Op96=15N85h z&guXq+@^B7${Ll3$sHDJ1Nc~Hv0m*4lRN#~#oYn!;a-ijS!@ijiTf<>SG(CSnGaYz zsP-X?sM;+S537B|WNUzQT`iK%qv~!`c}(STl_xBo4Db|BC-4lv*#cUbNU@u~XfbbSp3Gmp095)9f~rS4>_FFpAeqb_JwMSu(`yDsQOl&Qp~oL+nYQ zoxK)sCJ9#$x)NH zqIFS#@5A+;f7k9pZHnZITk(bD~g-O zFVRFZf55L=^f#5?yUYI}@NE9%FN4(RLSMS?sIKsL`$}`C(H`_~@r*8!>j_>g?N>ZY z`*f|e=UVAVtciiJ7cGmPO-LSAE-{~spcfUQw(G|;of$InGm}~F+C}BNJ&AZxxfJ$P_74!aBJ_8|9YhJqXD;XUl0^ z%XPBQ2)Pf7xn58f$#V%)B}=XoM%C2FSBnkQa)V^uDE}dNyJVWzIQsiH{fESHMU$}jWejob;frv!Q&!! z2`35R^JoR)8Nqj%K|~TJ8vKu-N4CCLnwivN&yg&lx9n!BL`#KanUE|Ok`>b041qFJ zaLf{>vjy24`OTFpI#23UN~QUNWC8VZiOxeT6o`>Vmtp};EES5yWc5(2b}8QCQmmz! zmJ2BsE5%lmWhTp&B57S*r2JY{R`_LuE6+icn))`NpEFtBgo^8>sFyZOAA;dt6URl} VTh6zSyf{Z1>?>bxmG2%_{R_&bOi2I$ 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