晓看天色暮看云
  • near_me
    首  页
  • view_week
    分  类
    keyboard_arrow_down
    layers
    页  面
    keyboard_arrow_down
  • description 文  章
    35
  • textsms 评  论
    0
  • vincent
    IOC

    access_time
    brush 173个字
    whatshot 46 ℃

    IOC理论

    通过一个set接口注入对象,程序不再具有主动性,被动接受对象

    public class UserServiceImpl implements UserService {
    
        private UserDao userDao;
    
        // 利用set进行动态实现值的注入
        public void setUserDao(UserDao userDao) {
            this.userDao = userDao;
        }
    
        @Override
        public void getUser() {
            userDao.getUser();
        }
    }

    用spring来管理对象

    • 在spring中创建的对象都称之为bean
    <?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来创建对象,他们称之为bean-->
        <bean id="user" class="com.zjz.pojo.User">
            <property name="name" value="Spring"/>
        </bean>
    </beans>
    • Spring通过类的无参构造器进行创建对象的
    public class Test {
        public static void main(String[] args) {
            // 获取Spring的上下文对象
            ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
            // 通过上下文对象取出我们需要的bean,也就是对象
            User user = (User) context.getBean("user");
            System.out.println(user.toString());
        }
    }

    依赖注入(DI)

    • 依赖:bean对象的创建依赖于Spring容器
    • 注入:bean对象中的所有属性,由容器来注入

    spring中三种装配方式

    1. 在xml中显示装配
    2. 在Java中显示装配
    3. 隐式的自动装配bean,通过注解

    #如无特别声明,该文章均为 vincent 原创,转载请遵循 署名-非商业性使用 4.0 国际(CC BY-NC 4.0) 协议,即转载请注明文章来源。
    #最后编辑时间为: 2023 年 02 月 18 日





    关于 DreamCat

    主题名称:DreamCat | 版本:2.8.221001(LTS)

    主题开发:HanFengA7 | TeddyNight | Dev-Leo | CornWorld | WhiteBearcn | DFFZMXJ

    Designed by HanFengA7 Power by Typecho

    Copyright © 2015-2025 by LychApe All rights reserved!

    加我的QQ
    加我的微博
    加我的支付宝
    加我的微信