2.Spring学习笔记之 ————IoC(控制反转)

13 篇文章 0 订阅
2 篇文章 0 订阅

控制反转(IoC),是Spring里一个专有的名词,其意思就是说,对象的实例由Spring容器来进行创建而不是我们自己手动创建,当我们在Spring容器中设定好Bean属性后,Spring容器就会自动创建其实例,我们只要去调用Spring的Bean就行。

接下来是例子:

首先,我们创建一个接口和一个接口的实现类

public interface UserDao {

    public void say();

}
public class UserDaoImpl implements UserDao {

    @Override
    public void say() {
        System.out.println("Hello Ioc");
    }

}

接着,当我们要用这个接口的时候,正常情况下是这样的

public class TestIoc {

    public static void main(String[] args) {
        UserDao userDao = new UserDaoImpl(); //需要我们主动去new一个对象
        userDao.say();
    }

}

而在用了Spring之后,Spring提供了两个注释,分别是@Autowired和@Resource。以及,@Service注释。具体用法如下:

@Service
public class UserDaoImpl implements UserDao {

    @Override
    public void say() {
        System.out.println("Hello Ioc");
    }

}

main函数里这样用

public class TestIoc {

    @Autowired
    UserDao UserDao;
    public static void main(String[] args) {
        userDao.say();
    }

}

以上,就是Spring的控制反转,读者可能会问,有什么不一样呀,我不还是一样定义了UserDao,只是加了个注释而已。

从上面我们可以看出,UserDao其实已经被Spring容器代理了,而当我们在main函数里用到的userDao,其实是Spring容器帮咱们创建好的对象。并不是咱么主动去new创建的哦。这就是控制反转,笔者的理解是,把对象的创建交给Spring,咱们只管用就行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值