1、先配置spring、springmvc通用xml文件的头部信息
spring、springmvc通用xml文件的模板内容如下:
1 <?xml version=\"1.0\" encoding=\"UTF-8\"?> 2 <beans xmlns=\"http://www.springframework.org/schema/beans\" 3 xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" 4 xmlns:aop=\"http://www.springframework.org/schema/aop\" 5 xmlns:context=\"http://www.springframework.org/schema/context\" 6 xmlns:tx=\"http://www.springframework.org/schema/tx\" 7 xmlns:mvc=\"http://www.springframework.org/schema/mvc\" 8 xsi:schemaLocation=\"http://www.springframework.org/schema/beans 9 http://www.springframework.org/schema/beans/spring-beans.xsd 10 http://www.springframework.org/schema/aop 11 http://www.springframework.org/schema/aop/spring-aop.xsd 12 http://www.springframework.org/schema/context 13 http://www.springframework.org/schema/context/spring-context.xsd 14 http://www.springframework.org/schema/tx 15 http://www.springframework.org/schema/tx/spring-tx.xsd 16 http://www.springframework.org/schema/mvc 17 http://www.springframework.org/schema/mvc/spring-mvc.xsd 18 \"> 19 20 </beans>
spring、springmvc文件通用内容
spring、spring
2、构建spring的第一个工程
3、配置项目中的pom.xml文件依赖
1 <?xml version=\"1.0\" encoding=\"UTF-8\"?> 2 3 <project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" 4 xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\"> 5 <modelVersion>4.0.0</modelVersion> 6 7 <groupId>com</groupId> 8 <artifactId>springmybatis_day44_02</artifactId> 9 <version>1.0-SNAPSHOT</version> 10 <packaging>war</packaging> 11 12 <name>springmybatis_day44_02 Maven Webapp</name> 13 <!-- FIXME change it to the project\'s website --> 14 <url>http://www.example.com</url> 15 16 <properties> 17 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 18 <maven.compiler.source>1.7</maven.compiler.source> 19 <maven.compiler.target>1.7</maven.compiler.target> 20 </properties> 21 22 23 <dependencies> 24 25 <dependency> 26 <groupId>junit</groupId> 27 <artifactId>junit</artifactId> 28 <version>4.11</version> 29 </dependency> 30 31 <!--1 https://mvnrepository.com/artifact/org.springframework/spring-beans --> 32 <dependency> 33 <groupId>org.springframework</groupId> 34 <artifactId>spring-beans</artifactId> 35 <version>4.3.6.RELEASE</version> 36 </dependency> 37 38 39 <!--2 https://mvnrepository.com/artifact/org.springframework/spring-context --> 40 <dependency> 41 <groupId>org.springframework</groupId> 42 <artifactId>spring-context</artifactId> 43 <version>4.3.6.RELEASE</version> 44 </dependency> 45 46 47 <!-- 3https://mvnrepository.com/artifact/org.springframework/spring-core --> 48 <dependency> 49 <groupId>org.springframework</groupId> 50 <artifactId>spring-core</artifactId> 51 <version>4.3.6.RELEASE</version> 52 </dependency> 53 54 55 <!--4 https://mvnrepository.com/artifact/org.springframework/spring-expression --> 56 <dependency> 57 <groupId>org.springframework</groupId> 58 <artifactId>spring-expression</artifactId> 59 <version>4.3.6.RELEASE</version> 60 </dependency> 61 62 63 <!--5 https://mvnrepository.com/artifact/org.springframework/spring-aop --> 64 <dependency> 65 <groupId>org.springframework</groupId> 66 <artifactId>spring-aop</artifactId> 67 <version>4.3.6.RELEASE</version> 68 </dependency> 69 70 71 <!--6 https://mvnrepository.com/artifact/aopalliance/aopalliance --> 72 <dependency> 73 <groupId>aopalliance</groupId> 74 <artifactId>aopalliance</artifactId> 75 <version>1.0</version> 76 </dependency> 77 78 79 <!--7 https://mvnrepository.com/artifact/org.aspectj/aspectjweaver --> 80 <dependency> 81 <groupId>org.aspectj</groupId> 82 <artifactId>aspectjweaver</artifactId> 83 <version>1.8.10</version> 84 </dependency> 85 86 87 <!--8 https://mvnrepository.com/artifact/log4j/log4j --> 88 <dependency> 89 <groupId>log4j</groupId> 90 <artifactId>log4j</artifactId> 91 <version>1.2.17</version> 92 </dependency> 93 94 95 <!--9 https://mvnrepository.com/artifact/commons-logging/commons-logging --> 96 <dependency> 97 <groupId>commons-logging</groupId> 98 <artifactId>commons-logging</artifactId> 99 <version>1.2</version> 100 </dependency> 101 102 103 <!--10 https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> 104 <dependency> 105 <groupId>org.springframework</groupId> 106 <artifactId>spring-jdbc</artifactId> 107 <version>4.3.6.RELEASE</version> 108 </dependency> 109 110 111 <!--11 https://mvnrepository.com/artifact/org.springframework/spring-orm --> 112 <dependency> 113 <groupId>org.springframework</groupId> 114 <artifactId>spring-orm</artifactId> 115 <version>4.3.6.RELEASE</version> 116 </dependency> 117 118 119 <!--12 https://mvnrepository.com/artifact/org.springframework/spring-tx --> 120 <dependency> 121 <groupId>org.springframework</groupId> 122 <artifactId>spring-tx</artifactId> 123 <version>4.3.6.RELEASE</version> 124 </dependency> 125 126 127 <!--13 https://mvnrepository.com/artifact/org.springframework/spring-web --> 128 <dependency> 129 <groupId>org.springframework</groupId> 130 <artifactId>spring-web</artifactId> 131 <version>4.3.6.RELEASE</version> 132 </dependency> 133 134 135 <!--14 https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> 136 <dependency> 137 <groupId>org.springframework</groupId> 138 <artifactId>spring-webmvc</artifactId> 139 <version>4.3.6.RELEASE</version> 140 </dependency> 141 142 143 <!--15 https://mvnrepository.com/artifact/org.mybatis/mybatis --> 144 <dependency> 145 <groupId>org.mybatis</groupId> 146 <artifactId>mybatis</artifactId> 147 <version>3.4.6</version> 148 </dependency> 149 150 <!--17 https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --> 151 <dependency> 152 <groupId>org.mybatis</groupId> 153 <artifactId>mybatis-spring</artifactId> 154 <version>1.3.2</version> 155 </dependency> 156 157 158 <!--16 https://mvnrepository.com/artifact/mysql/mysql-connector-java --> 159 <dependency> 160 <groupId>mysql</groupId> 161 <artifactId>mysql-connector-java</artifactId> 162 <version>5.1.38</version> 163 </dependency> 164 165 166 <!--18 https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> 167 <dependency> 168 <groupId>javax.servlet</groupId> 169 <artifactId>javax.servlet-api</artifactId> 170 <version>3.1.0</version> 171 </dependency> 172 173 <!--19 https://mvnrepository.com/artifact/javax.servlet/jstl --> 174 <dependency> 175 <groupId>javax.servlet</groupId> 176 <artifactId>jstl</artifactId> 177 <version>1.2</version> 178 </dependency> 179 180 181 <!--20 https://mvnrepository.com/artifact/taglibs/standard --> 182 <dependency> 183 <groupId>taglibs</groupId> 184 <artifactId>standard</artifactId> 185 <version>1.1.2</version> 186 </dependency> 187 188 </dependencies> 189 190 191 </project>
pom.xml
4、在项目的main下创建java和resouces目录
5、将java目录变为编译目录
6、将resources目录变为存放xml脚本的目录
7、在java的com.pojo包下构建Student和Classes两个类
1 package com.pojo; 2 3 public class Classes { 4 private Integer cid; 5 private String cname; 6 7 public Classes() { 8 } 9 10 public Classes(Integer cid, String cname) { 11 this.cid = cid; 12 this.cname = cname; 13 } 14 15 public Integer getCid() { 16 return cid; 17 } 18 19 public void setCid(Integer cid) { 20 this.cid = cid; 21 } 22 23 public String getCname() { 24 return cname; 25 } 26 27 public void setCname(String cname) { 28 this.cname = cname; 29 } 30 31 @Override 32 public String toString() { 33 return \"Classes{\" + 34 \"cid=\" + cid + 35 \", cname=\'\" + cname + \'\\\'\' + 36 \'}\'; 37 } 38 }
Classes.java
1 package com.pojo; 2 3 public class Student { 4 private Integer sid; 5 private String sname; 6 private String course; 7 private Double score; 8 9 private Classes classes; 10 11 public Student() { 12 } 13 14 public Student(Integer sid, String sname, String course, Double score, Classes classes) { 15 this.sid = sid; 16 this.sname = sname; 17 this.course = course; 18 this.score = score; 19 this.classes = classes; 20 } 21 22 public Integer getSid() { 23 return sid; 24 } 25 26 public void setSid(Integer sid) { 27 this.sid = sid; 28 } 29 30 public String getSname() { 31 return sname; 32 } 33 34 public void setSname(String sname) { 35 this.sname = sname; 36 } 37 38 public String getCourse() { 39 return course; 40 } 41 42 public void setCourse(String course) { 43 this.course = course; 44 } 45 46 public Double getScore() { 47 return score; 48 } 49 50 public void setScore(Double score) { 51 this.score = score; 52 } 53 54 public Classes getClasses() { 55 return classes; 56 } 57 58 public void setClasses(Classes classes) { 59 this.classes = classes; 60 } 61 62 @Override 63 public String toString() { 64 return \"Student{\" + 65 \"sid=\" + sid + 66 \", sname=\'\" + sname + \'\\\'\' + 67 \", course=\'\" + course + \'\\\'\' + 68 \", score=\" + score + 69 \", classes=\" + classes + 70 \'}\'; 71 } 72 }
Student.java
8、在resouces下创建spring的applicationContext.xml文件
1 <?xml version=\"1.0\" encoding=\"UTF-8\"?> 2 <beans xmlns=\"http://www.springframework.org/schema/beans\" 3 xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" 4 xmlns:aop=\"http://www.springframework.org/schema/aop\" 5 xmlns:context=\"http://www.springframework.org/schema/context\" 6 xmlns:tx=\"http://www.springframework.org/schema/tx\" 7 xmlns:mvc=\"http://www.springframework.org/schema/mvc\" 8 xsi:schemaLocation=\"http://www.springframework.org/schema/beans 9 http://www.springframework.org/schema/beans/spring-beans.xsd 10 http://www.springframework.org/schema/aop 11 http://www.springframework.org/schema/aop/spring-aop.xsd 12 http://www.springframework.org/schema/context 13 http://www.springframework.org/schema/context/spring-context.xsd 14 http://www.springframework.org/schema/tx 15 http://www.springframework.org/schema/tx/spring-tx.xsd 16 http://www.springframework.org/schema/mvc 17 http://www.springframework.org/schema/mvc/spring-mvc.xsd 18 \"> 19 <!--bean节点功能等同于 Classes classes=new Classes();--> 20 <!--spring使用反射+代理的方式创建--> 21 <!--底层代理源码的实现原理:--> 22 <!--Class cla=Class.forName(\"com.pojo.Classes\");--> 23 <!--Classes classes=cla.newInstance();--> 24 <!--id是spring底层构建对象的对象名,classes是构建对象的类的全路径--> 25 <!--id的值和vlaue值都是任意的--> 26 <bean id=\"classes\" class=\"com.pojo.Classes\"> 27 <!--底层代理使用反射实现机制--> 28 <!--Field cidField= cla.getField(cid);--> 29 <!--cidField.set(classes,1);--> 30 <!--property类的属性名,value属性值--> 31 <property name=\"cid\" value=\"1\"/> 32 <property name=\"cname\" value=\"教学部\"/> 33 </bean> 34 35 <bean id=\"student\" class=\"com.pojo.Student\"> 36 <property name=\"sid\" value=\"10\"/> 37 <property name=\"sname\" value=\"holly\"/> 38 <property name=\"course\" value=\"java\"/> 39 <property name=\"score\" value=\"65.5\"/> 40 <!--如果给引用类型变量(对象属性)赋值,使用ref-,ref的值是另一个bean的id值--> 41 <property name=\"classes\" ref=\"classes\"/> 42 </bean> 43 </beans>
applicationContext.xml
9、在java的com.test包下构建StudentTest.java测试类
1 package com.test; 2 3 import com.pojo.Classes; 4 import com.pojo.Student; 5 import org.junit.Test; 6 import org.springframework.context.ApplicationContext; 7 import org.springframework.context.support.ClassPathXmlApplicationContext; 8 9 //常规:需要对象时,主动创建,主动赋值, 10 //springIOC:需要对象时,被动接受完整对象(spring对我们所需要的对象进行赋值) 11 public class StudentTest { 12 @Test 13 public void normal(){ 14 Classes classes=new Classes(); 15 classes.setCid(1); 16 classes.setCname(\"教学部\"); 17 18 Student student=new Student(); 19 student.setSid(10); 20 student.setSname(\"holly\"); 21 student.setCourse(\"java\"); 22 student.setScore(65.5); 23 student.setClasses(classes); 24 25 System.out.println(classes); 26 System.out.println(student); 27 } 28 29 @Test 30 public void springIOC(){ 31 //加载spring的xml文件 32 ApplicationContext ac=new ClassPathXmlApplicationContext(\"applicationContext.xml\"); 33 34 //spring给我们对象注入需要的值,我们根据bean 的id去查找赋值 35 Classes classes=(Classes) ac.getBean(\"classes\"); 36 Student student =(Student) ac.getBean(\"student\"); 37 38 System.out.println(classes); 39 System.out.println(student); 40 } 41 }
StudentTest.java
10、运行我们的测试方法且查看我们的打印效果
声明:此为原创,源码+理论讲解视频+操作视频,请私信作者!
来源:https://www.cnblogs.com/holly8/p/spingIOC_IDEA_Maven.html
本站部分图文来源于网络,如有侵权请联系删除。