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

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

最新文章

  1. SE Springer小组《Spring音乐播放器》软件需求说明3
  2. 【Unity3D基础教程】给初学者看的Unity教程(四):通过制作Flappy Bird了解Native 2D中的RigidBody2D和Collider2D
  3. Spark shuffle详细过程
  4. Change the Windows 7 Taskbar Thumbnail and List Mode
  5. M2的来源很简单
  6. 在Chrome Console中加载jQuery
  7. SQL技巧之分类汇总
  8. 【转载】jQuery动画中的queue()函数
  9. 【转载】MySQL事务以及SELECT ... FOR UPDATE的使用
  10. openstack-ocata-环境准备1
  11. mysql_study_3
  12. Xpath做数据解析
  13. C++学习第一天(helloword)
  14. 微信之父张小龙经典演讲164页PPT:《微信背后的产品观》
  15. kickstart无人值守安装之实践篇
  16. js 列表选择
  17. dubbo接口测试
  18. python良好的编程习惯
  19. POJ-2318 TOYS,暴力+叉积判断!
  20. hexo干货系列:(四)将hexo博客同时托管到github和coding

热门文章

  1. 图的连通性--Tarjan算法
  2. 2020.12.12【NOIP提高B组】模拟 总结
  3. Redis的使用(二)
  4. ExtJS 布局-Absolute布局(Absolute layout)
  5. netty系列之:HashedWheelTimer一种定时器的高效实现
  6. BUUCTF-被嗅探的流量
  7. 封装一个基础的vue-router
  8. 关于Java中的构造方法
  9. Python实现12种概率分布(附代码)
  10. linux配置svn