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的另一种说法。
标签:lostyou,认识,spring,top,dao,import,public From: https://www.cnblogs.com/5ran2yl/p/17103165.html