Set注入

          Set注入
开发工具与关键技术:eclipse  Java
作者:rr
撰写时间:2020年8月8日

下面先介绍一下我们的老写法,一个直接写死的写法。
首先是用户层:
接口:
public interface UserDao {
void getUser();
}
一个UserDao接口给它一个get方法。

类:
public class UserDaoImpl implements UserDao{
public void getUser(){
System.out.println(“老写法”);
}
}
建一个UserDaoImpl类,连接UserDao接口,然后引用get方法进行输出。

业务层:
private UserDao userDao=new UserDaoOraclempl();
public void getUser(){
UserDao.getUser();
}
直接new出需要用的类,用get方法便可以了。

可以直接测试一下,下面是测试源代码:
public class MyTest {
public static void main(String[] args){
//用户实际调用的是业务层,dao层它们是不需要接触的
UserService userService= new UserServiceImpl();
userService.getUser();
}
}
但是这个方法在我们之前的业务中,用户如果有需求的话,我们就需要根据用户的需求去修改我的源代码! 但是如果我的代码量十分庞大的话,修改一次的成本非常贵,对于我们来说是一个十分大的代价。

下面进入set注入:
用户层:
public class UserDaoImpl implements UserDao{
public void getUser(){
System.out.println(“set注入”);
}
}

用户层跟上面get方法是一样的。

业务层:
Public static void main(String[] args){
private UserDao userDao;
//set进行动态实现值的注入
public void setUserDao(UserDao userDao){
this.userDao=userDao;
}
public void getUser(){

    userDao.getUser();

}
}
通过set方法实现动态值的注入

测试层:
public class MyTest {
public static void main(String[] args){
//用户实际调用的是业务层,dao层它们是不需要接触的
UserService userService= new UserServiceImpl();
((UserServiceImpl) userService).setUserDao(new UserDaoSqlserviceImpl());
userService.getUser();
}
}
利用set注入的方法,我们可以不用修改业务层的任何代码,只需要修改一下你调用到的类便可。
以上是我从“狂神说Java”里学习的一个简单的小知识,如有不明白的可以去https://www.bilibili.com/video/BV1WE411d7Dv里学习一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值