导入Jar包

注 : spring 需要导入commons-logging进行日志记录 . 我们利用maven , 他会自动下载对应的依赖项 .

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.10.RELEASE</version>
</dependency>

编写代码

1、编写一个Hello实体类

public class Hello {
private String name; public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
} public void show(){
System.out.println("Hello,"+ name );
}
}

2、编写我们的spring文件 , 这里我们命名为beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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"> <!--bean就是java对象 , 由Spring创建和管理-->
<bean id="hello" class="com.kuang.pojo.Hello">
<property name="name" value="Spring"/>
</bean> </beans>

3、我们可以去进行测试了 .

@Test
public void test(){
//解析beans.xml文件 , 生成管理相应的Bean对象
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
//getBean : 参数即为spring配置文件中bean的id .
Hello hello = (Hello) context.getBean("hello");
hello.show();
}

思考

  • Hello 对象是谁创建的 ? 【hello 对象是由Spring创建的
  • Hello 对象的属性是怎么设置的 ? hello 对象的属性是由Spring容器设置的

这个过程就叫控制反转 :

  • 控制 : 谁来控制对象的创建 , 传统应用程序的对象是由程序本身控制创建的 , 使用Spring后 , 对象是由Spring来创建的
  • 反转 : 程序本身不创建对象 , 而变成被动的接收对象 .

依赖注入 : 就是利用set方法来进行注入的.

IOC是一种编程思想,由主动的编程变成被动的接收

可以通过newClassPathXmlApplicationContext去浏览一下底层源码 .

最新文章

  1. 浅析Openflow
  2. Ubuntu下eclipse开发hadoop应用程序环境配置
  3. Xcode基本操作
  4. .NET开源工作流RoadFlow-系统布署及注意事项
  5. 方法:怎么用ionic命令行调试你的ionic app
  6. 使用Emmet加速Web前端开发
  7. [Hadoop] - SSH免密码登录
  8. CoreGraphics--画线/圆/矩形
  9. JavaWeb总结(五)—Cookie
  10. 【特效】单选按钮和复选框的美化(只用css)
  11. 【机器学习实战】第12章 使用FP-growth算法来高效发现频繁项集
  12. maven安装和eclipse集成
  13. Deep Learning.ai学习笔记_第四门课_卷积神经网络
  14. vue项目引入FastClick组件解决IOS系统下h5页面中的按钮点击延迟,连续点击无反应的问题
  15. opencv 3.2 vs2015 debug assertion __acrt_first_block == header
  16. day37 mysql数据库学习
  17. Spring Security构建Rest服务-1001-spring social开发第三方登录之spring social基本原理
  18. 理解活在Iphone中的那些App (二)
  19. windows下制作debian U盘启动
  20. 词嵌入向量WordEmbedding

热门文章

  1. Linux 驱动框架---platform驱动框架
  2. Worktile vs Teambition
  3. code screenshot beautify plugin &amp; 代码截图美化插件
  4. node os env reader
  5. css var all in one &amp; html &amp; root &amp; :root
  6. 线上CPU飙升100%问题排查
  7. 文件描述符(File Descriptor)简介
  8. Java ThreadPoolExecutor详解
  9. PacketStream 和 honeygain 推荐一款可以通过分享带宽赚钱的APP
  10. 搭载华为麒麟9000的Mate X2:秒售罄,一机难求