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、运行我们的测试方法且查看我们的打印效果

 

 

 

声明:此为原创,源码+理论讲解视频+操作视频,请私信作者!