认识spring

1.spring是一个开源免费框架(容器)

2.spring是一个轻量级,非入侵式的框架

3.spring的特点:控制反转(IOC),面向切面(AOP)

4.支持事务的处理,对框架整合的支持

总结:spring就是一个轻量级,的控制反转和面向切面的框架!

测试接口:

package top.lostyou.service;

public interface UserService {
    void getUser();
}

 

 实现类:

package top.lostyou.service;

import top.lostyou.dao.UserMysqlImp;
import top.lostyou.dao.UserOracleImp;
import top.lostyou.dao.Userdao;
import top.lostyou.dao.UserdaoImp;

public class UserServiceImp implements UserService {
    private Userdao userdao;
//利用set方法实现值的动态注入 public void setUserdao(Userdao userdao) { this.userdao = userdao; } public void getUser() { userdao.getUser(); } }

 

没有引入set方法,创建对象的权力在程序猿的手上,对于程序员来说十分的繁琐

当set方法引入以后,创建对象的权力就在用户手上,用户可以根据不同的选择来确定不同的接口

总结:使用set注入以后,程序不在具有主动性,而是变成被动的接受对象,程序猿就可以不用去管理对象的创建了

测试结果:

import top.lostyou.dao.UserMysqlImp;
import top.lostyou.service.UserService;
import top.lostyou.service.UserServiceImp;

public class Mytest {
    public static void main(String[] args) {
        //用户实际调用的是业务层,dao层它们不需要接触!
        UserService userService = new UserServiceImp();
        ((UserServiceImp)userService).setUserdao(new UserMysqlImp());
        userService.getUser();
    }
}

 

 

 

 

控制反转IoC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IoC的一种方法,也有人认为DI只是IoC的另一种说法。

 

posted @ 2023-02-08 21:22  回忆也交给时间  阅读(24)  评论(0编辑  收藏  举报