Spring-ioc

本文介绍了IOC(控制反转)的概念,它是一种设计思想,通过DI(依赖注入)来实现。在Spring框架中,IOC容器通过XML配置文件管理对象的创建和装配。DI包括普通值注入、bean注入和数组注入。通过ApplicationContext获取并使用注册好的bean对象。

1 什么是ioc --》控制反转 是一种设计思想 DI 依赖注入

是实现ioc的一种方法

控制反转---> 有之前我们自己控制程序对象的创建 控制反转后将对象的创建转移

给第三方。

spring中实现控制反转的是ioc容器 实现方式是依赖注入

对象的属性由spring容器设置的

依赖注入:我们利用set方式来进行注入的

所以现在我们要实现不同的操作 只需要再xml配置文件中修改

对象由spring来创建 管理 装配



<?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">
    <!--   使用spring来创建对象 在spring里面这些都称之为bean-->

id 是bean唯一的标识符 
class 是bean对象所对应的全限定名 包名加类型
name 是别名 而且name可以取多个别名

<bean id="user" class="com.lavender.pojo.User" name="u1">
<property name="name" value="lavender"/>

</bean>

</beans>

DI 依赖注入

1 普通值注入

<bean id="student" class="com.lavender.pojo.Student" name="u1">
<property name="name" value="lavender"/>

2 bean注入 ref 引用bean中已经注册好的对象
<property name="name" value="user"/>

3数组
<property name="book" >
<array>
    <value>
    水浒传
    </value>
    <value>
    三国演义
    </value>
</array>

<property>

</bean>



怎么使用我们已经注册好的bean对象呢?

public void test2(){
      ApplicationContext context = ClassPathXMLApplicationContext(bean.xml);
      User user = context.getBean("user",User.class);
      
      sout(uer);

}
Spring-IOCSpring框架的核心部分之一,它是一种设计模式,全称为Inversion of Control(控制反转)。它通过将对象的创建、依赖关系的管理和对象的生命周期交给Spring容器来实现,从而降低了组件之间的耦合度,提高了代码的可重用性和可维护性。Spring-IOC的实现主要依靠Spring容器,Spring容器是Spring框架的核心,它负责创建、管理和装配Bean对象,其中Bean是Spring框架中最基本的组件。 Spring-IOC的实现主要有两种方式:BeanFactory和ApplicationContext。其中,BeanFactory是Spring-IOC的基本实现,而ApplicationContext是BeanFactory的子接口,提供了更多高级特性。ApplicationContext是Spring框架中最常用的IOC容器,它除了提供BeanFactory的所有功能外,还提供了更多的企业级特性,例如AOP、事务管理、国际化、事件传播等。 下面是一个简单的Spring-IOC的例子,假设我们有一个UserService接口和一个UserServiceImpl实现类,我们可以通过Spring-IOC容器来创建和管理UserServiceImpl对象: 1.定义UserService接口和UserServiceImpl实现类 ```java public interface UserService { void addUser(User user); } @Service public class UserServiceImpl implements UserService { @Override public void addUser(User user) { // 添加用户的具体实现 } } ``` 2.在Spring配置文件中配置UserService实例 ```xml <bean id="userService" class="com.example.service.UserServiceImpl"/> ``` 3.在代码中获取UserService实例并使用 ```java ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); UserService userService = context.getBean("userService", UserService.class); User user = new User(); userService.addUser(user); ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值