Spring中IoC的详细介绍
发表于:2024-09-28 作者:千家信息网编辑
千家信息网最后更新 2024年09月28日,这篇文章主要讲解了"Spring中IoC的详细介绍",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Spring中IoC的详细介绍"吧!Spring中的I
千家信息网最后更新 2024年09月28日Spring中IoC的详细介绍
这篇文章主要讲解了"Spring中IoC的详细介绍",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Spring中IoC的详细介绍"吧!
Spring中的IoC:
1)概念:把对象的创建、初始化、销毁等工作交给spring容器来做。由spring容器控制对象的生命周期。2)目的:为了解决多个对象之间的依赖关系。3)原理: 1)通过配置文件(或注解)的方式来描述bean与bean之间的依赖关系。 2)通过动态代理和java的反射机制来实例化bean,同时建立bean之间的依赖关系。 4)spring容器创建对象的3种方式(bean的实例化): 1)使用Spring的IoC创建对象:调用默认的构造函数(默认) 1>指定bean的class属性 2>class需要一个默认的空构造器得到实例对象:HelloWorld helloWorld = (HelloWorld)context.getBean("helloWorld"); 2)在Spring中使用工厂模式创建对象: 使用静态工厂方法 1>指定class属性外 2>通过factory-method属性来指定创建bean实例的静态工厂方法 注:相当于调用了 HelloWorldFactory.createInstance(); public class HelloWorldFactory { public static HelloWorld createInstance(){ return new HelloWorld(); } } 得到实例对象:HelloWorld helloWorld = (HelloWorld)context.getBean("helloWorld"); 使用实例工厂方法 1>定义一个工厂类 2>通过factory-bean属性指定工厂类,通过factory-method属性指定该工厂类的非静态工厂方法 注:相当于调用了 new HelloWorldFactory.createInstance(); public class HelloWorldFactory { public HelloWorld createInstance(){ return new HelloWorld(); } } 得到实例对象:HelloWorld helloWorld = (HelloWorld)context.getBean("helloWorld"); 3)使用Spring的IoC创建对象 VS 使用工厂模式创建对象 当创建的对象需要修改(eg:新增属性)时: Spring的IoC只需要修改对象对应的类即可。 工厂模式需要修改或添加工厂方法。5)DI(依赖注入):给对象的属性赋值 1)使用属性的setter方法进行注入: 说明:通过调用无参构造器或无参static工厂方法实例化bean之后,调用该bean的setter方法,即可实现基于setter的依赖注入。 举例: 2)使用构造器注入:通过调用带参数的构造器来实现: 说明: 1>如果spring的配置文件的bean中没有 value1 value2 标签,则调用默认的构造方法 2>如果spring的配置文件的bean中有 标签,则该元素确定唯一的构造方法,该标签的属性 index 指参数的位置,从0开始 type 指参数的类型,如果不写仍可确定唯一的构造方法,则可以省略type属性 value 给基本类型赋值 ref 给引用类型赋值 举例:
感谢各位的阅读,以上就是"Spring中IoC的详细介绍"的内容了,经过本文的学习后,相信大家对Spring中IoC的详细介绍这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
对象
工厂
方法
属性
实例
构造器
之间
参数
容器
文件
标签
模式
类型
静态
学习
配置
内容
方式
位置
元素
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
电竞经理服务器满了
软件开发tr4
数据库在电脑还是DCS中
国家哪个部门管网络安全
上海创新计算机网络技术服务简介
抓好网络安全队伍建设
网络安全法持证上岗
上海陌核互联网科技怎么样
一般游戏公司的服务器都放在哪里
web服务器由哪三部分组
网络安全知识班会议题
数据库安全性控制的三个层次
数据库可靠性含义
网络安全内部问责清单
如何在数据库中写触发器
聊城大学网络安全中心
服务器压力测试题
2021年网络安全周活动总结
海南常用软件开发价格走势
杭州web前端软件开发哪家好
软件开发tr4
机房服务器存储关闭顺序
赛季服选哪个服务器联盟多
数据库如何复制语句
软件开发和计算机网络技术
一般游戏公司的服务器都放在哪里
纯净生存服务器ip
如何加强对数据库的认识
软件开发工作人员工资
数据库基础4教学视频