开发者社区> 学堂小助手> 正文

02_spring_ioc| 学习笔记

简介: 快速学习02_spring_ioc
+关注继续查看

开发者学堂课程【Java Web 开发系列课程:Spring 框架入门02_spring_ioc】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/538/detail/7334


02_spring_ioc 


内容介绍:

一、hello spring

二、思考问题


一、hello spring

Ioc 功能实现怎么执行?

spring 的核心的功能就是 ioc 功能。

在 Java 软件里新建一个 Java Project,Project name 为 02spring4_hello。

创建新的 file,导入相关 jar 

commons-logging-1.1.1.jar

spring-aop-4.1.6.RELEASE.jar

spring-aspects-4.1.6.RELEASE.jar

spring-beans-4.1.6.RELEASE.jar

spring-context-4.1.6.RELEASE.jar

spring-context-support-4.1.6.RELEASE.jar

spring-core-4.1.6.RELEASE.jar

spring-expression-4.1.6.RELEASE.jar

spring-jdbc-4.1.6.RELEASE.jar

spring-orm-4.1.6.RELEASE.jar

spring-tx-4.1.6.RELEASE.jar

spring-web-4.1.6.RELEASE.jar

spring-webmvc-4.1.6.RELEASE.jar

 编写spring配置文件(名称可以自定义)

Hello java:

public class Hello {

private String name;

public void setName (String name) {

this.name = name;

}

public void show ( ) {

System. out . println("hello,"+name);

}

}

 新建一个file,取名为beans.xml:

xmlns= "http://www. springframework.org/schema/beans 

xmlns:xsi="http://www.w3.org/2001/XML Schema-instance 

xsi:schemalocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd">

value= "张三"/>

< /beans>

测试代码

public class Test {

public static void main(String[] args) {

//解析 beans.xml 文件 生成管理相应的 bean 对象

ApplicationContext context = new

ClassPathXmlApplicationContext("beans .xml");

Hello hello = (Hello)context. getBean("hello");

hello. Show ( ) ;

}

}

 

二、思考问题

Hello 对象是谁创建的?

Hello 对象是由 spring 容器创建的。可以写很多个 bean,称为 bean 工厂,以前要创建很多个对象,现在对象都交由 spring 创建。

Hello 对象属性是怎么设置的?

Hello 对象属性是由 spring 容器来设置的。

 这个过程就叫控制反转:

控制的内容:指谁来控制对象的创建;传统的应用程序对象的创建是由程序本身来控制的,使用 spring 后,是由 spring 来创建对象的。

反转:正转是指程序来创建对象,反转是指程序本身不去创建对象,而变为被动接收对象。 总结:以前对象是由程序本身来创建,使用 spring 后,程序变为被动接受 spring 创建好的对象。

控制反转——依赖注入(dependency injection),service 依赖于 dao,hello 依赖于 name,name 是用容器给他的,这个过程为依赖注入。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
18657 0
SpringMVC学习笔记
参考:1.佟刚老师视频         2.史上最全最强SpringMVC详细示例实战教程   SpringMVC学习笔记---- 一、SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包。
945 0
Spring学习笔记:04 Bean的作用域 (Bean scopes)
Spring学习笔记:04 Bean的作用域 (Bean scopes)
24 0
Spring学习笔记:03 DI 依赖注入
Spring学习笔记:03 DI 依赖注入
30 0
Spring 4.0.2 学习笔记(2) - 自动注入及properties文件的使用
接上一篇继续, 学习了基本的注入使用后,可能有人会跟我一样觉得有点不爽,Programmer的每个Field,至少要有一个setter,这样spring配置文件中才能用...来注入. 能否不要这些setter方法? 答案是Yes 一、为Spring配置文件,添加annotation支持,以及 de...
684 0
Spring学习笔记之aop动态代理(3)
Spring学习笔记之aop动态代理(3) 1.0 静态代理模式的缺点: 1、在该系统中有多少的dao就的写多少的proxy,麻烦 2、如果目标接口有方法的改动,则proxy也需要改动。 PersonDao.java public interface PersonDao { public void savePerson(); } Per
1250 0
Spring5入门学习笔记
这个是视频学习时记录的笔记,供自己日后复习和其他同学参考使用。
19 0
SpringCloud学习笔记(十四、网关Zuul)
SpringCloud学习笔记(十四、网关Zuul)
40 0
1783
文章
0
问答
来源圈子
更多
技术图谱:由专家组参与技术图谱的绘制与编写,知识与实践的结合让开发者们掌握学习路线与逻辑,快速提升技能 电子书:电子书由阿里内外专家打造,供开发者们下载学习,更与课程相结合,使用户更易理解掌握课程内容 训练营:学习训练营 深入浅出,专家授课,带领开发者们快速上云 精品课程:汇集知识碎片,解决技术难题,体系化学习场景,深入浅出,易于理解 技能自测:提供免费测试,摸底自查 体验实验室:学完即练,云资源免费使用
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载