浅谈Spring IOC来咯~

简介: 浅谈Spring IOC来咯~

2.1 IOC :控制反转

2.1.1 搭建Spring环境

下载jar

maven.springframework.org/release/org…

spring-framework-4.3.9.RELEASE-dist.zip

开发spring至少需要使用的jar(5个+1个):

spring-aop.jar 开发AOP特性时需要的JAR

spring-beans.jar 处理Bean的jar

spring-context.jar 处理spring上下文的jar

spring-core.jar spring核心jar

spring-expression.jar spring表达式

三方提供的日志jar

commons-logging.jar 日志

2.1.2 编写配置文件

直接下载sts工具(相当于一个集合了Spring tool suite的Eclipse): spring.io/tools/sts/

新建:bean configuration .. - applicationContext.xml

网络异常,图片无法展示
|


2.1.3 开发Spring程序(IOC)

网络异常,图片无法展示
|


过程:

Student.java

public class Student {
  private** **int** stuNo ;
  private** String stuName ;
**private** **int** stuAge ;
**public** **int** getStuNo() {
**return** stuNo;
}
**public** **void** setStuNo(**int** stuNo) {
**this**.stuNo = stuNo;
}
**public** String getStuName() {
**return** stuName;
}
**public** **void** setStuName(String stuName) {
**this**.stuName = stuName;
}
**public** **int** getStuAge() {
**return** stuAge;
}
**public** **void** setStuAge(**int** stuAge) {
**this**.stuAge = stuAge;
}
@Override
**public** String toString() {
**return** **this**.stuNo+","+**this**.stuName+","+**this**.stuAge;
}
复制代码

Teat.java

//Spring上下文对象:conext

ApplicationContext conext = **new** ClassPathXmlApplicationContext("applicationContext.xml") ;
//执行从springIOC容器中获取一个 id为student的对象
Student student = (Student)conext.getBean("student") ;
System.***out***.println(student);
复制代码

//1.new

//2.对象属性的复制x


applicationContext.xml


<bean id= "student"  class= "org.lanqiao.entity.Student" >

<property name= "stuNo"  value= "2" >

<property name= "stuName"  value= "ls" >

<property name= "stuAge"  value= "24" >

 

2.1.4  SpringIOC发展史

网络异常,图片无法展示
|


2.1.5 总结

1.控制反转:

将 创建对象、属性值 的方式 进行了翻转,从new、setXxx()  翻转为了 从springIOC容器getBean()

1. 依赖注入:

将属性值 注入给了属性,将属性 注入给了bean,将bean注入给了ioc容器;

 

总结:

ioc/di ,无论要什么对象,都可以直接去springioc容器中获取,而不需要自己操作(new\setXxx())


相关文章
|
4月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
16天前
|
存储 缓存 Java
Spring面试必问:手写Spring IoC 循环依赖底层源码剖析
在Spring框架中,IoC(Inversion of Control,控制反转)是一个核心概念,它允许容器管理对象的生命周期和依赖关系。然而,在实际应用中,我们可能会遇到对象间的循环依赖问题。本文将深入探讨Spring如何解决IoC中的循环依赖问题,并通过手写源码的方式,让你对其底层原理有一个全新的认识。
38 2
|
1月前
|
XML 缓存 Java
搞透 IOC、Spring IOC ,看这篇就够了!
本文详细解析了Spring框架的核心内容——IOC(控制反转)及其依赖注入(DI)的实现原理,帮助读者理解如何通过IOC实现组件解耦,提高程序的灵活性和可维护性。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
|
3月前
|
XML Java 数据格式
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
Spring 第二节内容补充 关于Bean配置的更多内容和细节 万字详解!
245 18
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
|
3月前
|
XML Java 测试技术
spring复习01,IOC的思想和第一个spring程序helloWorld
Spring框架中IOC(控制反转)的思想和实现,通过一个简单的例子展示了如何通过IOC容器管理对象依赖,从而提高代码的灵活性和可维护性。
spring复习01,IOC的思想和第一个spring程序helloWorld
|
1月前
|
安全 Java 测试技术
Java开发必读,谈谈对Spring IOC与AOP的理解
Spring的IOC和AOP机制通过依赖注入和横切关注点的分离,大大提高了代码的模块化和可维护性。IOC使得对象的创建和管理变得灵活可控,降低了对象之间的耦合度;AOP则通过动态代理机制实现了横切关注点的集中管理,减少了重复代码。理解和掌握这两个核心概念,是高效使用Spring框架的关键。希望本文对你深入理解Spring的IOC和AOP有所帮助。
39 0
|
2月前
|
Java Spring 容器
Spring IOC、AOP与事务管理底层原理及源码解析
【10月更文挑战第1天】Spring框架以其强大的控制反转(IOC)和面向切面编程(AOP)功能,成为Java企业级开发中的首选框架。本文将深入探讨Spring IOC和AOP的底层原理,并通过源码解析来揭示其实现机制。同时,我们还将探讨Spring事务管理的核心原理,并给出相应的源码示例。
144 9
|
2月前
|
存储 开发框架 Java
什么是Spring?什么是IOC?什么是DI?IOC和DI的关系? —— 零基础可无压力学习,带源码
文章详细介绍了Spring、IOC、DI的概念和关系,解释了控制反转(IOC)和依赖注入(DI)的原理,并提供了IOC的代码示例,阐述了Spring框架作为IOC容器的应用。
37 0
什么是Spring?什么是IOC?什么是DI?IOC和DI的关系? —— 零基础可无压力学习,带源码
|
3月前
|
缓存 Java Spring
手写Spring Ioc 循环依赖底层源码剖析
在Spring框架中,IoC(控制反转)是一个核心特性,它通过依赖注入(DI)实现了对象间的解耦。然而,在实际开发中,循环依赖是一个常见的问题。
46 4
|
2月前
|
XML Java 数据格式
Spring IOC容器的深度解析及实战应用
【10月更文挑战第14天】在软件工程中,随着系统规模的扩大,对象间的依赖关系变得越来越复杂,这导致了系统的高耦合度,增加了开发和维护的难度。为解决这一问题,Michael Mattson在1996年提出了IOC(Inversion of Control,控制反转)理论,旨在降低对象间的耦合度,提高系统的灵活性和可维护性。Spring框架正是基于这一理论,通过IOC容器实现了对象间的依赖注入和生命周期管理。
79 0