Spring中IOC与ID入门

1,什么是IOC:

IOC是Inversion of Control的缩写,即“控制反转”,是一种设计思想,也是Spring框架的核心。在Java开发中,对象的创建和对象之间的调用关系是通过程序代码实现的,对象的创建和对象之间的调用过程由程序员来管理。而使用Spring框架后,对象的创建和对象之间的调用关系则由Spring容器来管理。这种将对象的创建和对象之间的调用过程交给Spring容器来管理的方式,就是控制反转。

IOC的主要解释:

IOC:控制反转,以前依赖的对象自己直接new,现在不需要new,框架会自动注入对象,创建对 象的权利转移给了框架; spring框架负责所有对象的创建、管理和依赖注入;所有的对象存储的容器叫做IOC容器;

IOC有什么作用:

在Spring中,IOC的主要作用是解耦。传统的Java开发中,对象之间的依赖关系是在代码中硬编码的,这样会导致代码的耦合度很高,一旦某个类发生了变化,就需要修改与之相关的所有代码。而使用IOC后,对象之间的依赖关系由Spring容器来管理,对象之间的耦合度降低了,代码的可维护性和可扩展性都得到了提高。此外,IOC还可以实现AOP(面向切面编程),可以在不修改原有代码的情况下,为程序添加新的功能

在Spring中的ID是什么意思:

DI:依赖注入,一个BookService类的功能需要依赖另外一个BookDao类配合,同时需要赋上一 个具体的对象,则成这种关系是依赖注入;

代码展示:

具体项目文件

 (1)创建项目导入spring的jar包注意这个jar包要在项目包中创建不用弄错了

 (2)根据目录中自己创建的结构创建接口及其实现类,做好准备工作

 dao层接口代码:

package com.li.dao;

public interface BookDao {
    void insert();
}

dao层实现类代码:

package com.li.dao.Imp;

import com.li.dao.BookDao;

public class BooksDaoImp implements BookDao {
    @Override
    public void insert() {
        System.out.println("BooksDaoImp......save");
    }
}

service层接口代码:

package com.li.service;

public interface BooksService {
    void save();
}

 service层实现类代码:

package com.li.service.Imp;

import com.li.dao.BookDao;
import com.li.service.BooksService;

public class BooksServiceImp implements BooksService {
    private BookDao bookDao;
    private String name;

    public void setName(String name) {
        this.name = name;
    }

    public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
    }

    @Override
    public void save() {
        System.out.println("BooksServiceImp...save"+name);
        bookDao.insert();
    }
}

测试类代码:

package com.li.Test;

import com.li.service.BooksService;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test001 {
    BooksService booksService;
    @Test
    public void add(){
        System.out.println("Test001....add");
        ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext("spring.xml");
        booksService = (BooksService) context.getBean("bookService");
        booksService.save();
    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值