Spring自学日志01

1-Spring的概念

spring的作用:使现有技术更容易使用,本事是一个大杂烩,整合了现有的技术框架。
SSH:Struct2+Spring+Hibernate!
SSM:SpringMVC+Spring+Mybatis!
4.3.9版下载地址:http://repo.spring.io/release/org/springframework/spring
导入spring-webmvc包

compile group: 'org.springframework', name: 'spring-webmvc', version: '5.2.2.RELEASE'

1.2-Spring的优点

Spring是一个开源的免费的框架(容器)!
Spring是一个轻量级的(可以直接添加依赖)、非入侵式的框架(不会影响原来的代码)!
控制反转(IOC)、面向切面编程(AOP)!
支持事务处理,对框架整合的支持!
总结一句话:Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架!

1.3-Spring组成

在这里插入图片描述

1.4-Spring拓展

Spring Boot

1.一个快速开发的脚手架。
2.基于Spring Boot可以快速开发单个微服务。
3.约定大于配置。

Spring Cloud

1.Spring Cloud是基于Spring Boot实现的。

2-IOC理论推导

UserDao接口

package com.kuang.dao;

public interface UserDao {
    void getUser();
}

UserDaoMysqllmpl实现类

package com.kuang.dao;

public class UserDaoMysqllmpl implements UserDao{
    @Override
    public void getUser() {
        System.out.println("Mysql获取了用户数据");
    }
}

UserDaolmpl实现类

package com.kuang.dao;

public class UserDaolmpl implements UserDao{

    @Override
    public void getUser() {
        System.out.println("默认获取用户数据");
    }
}

UserService业务接口

package com.kuang.Service;

public interface UserService {
    void getUser();
}

UserServicelmpl业务实现类

package com.kuang.Service;

import com.kuang.dao.UserDao;
import com.kuang.dao.UserDaoMysqllmpl;
import com.kuang.dao.UserDaolmpl;

public class UserServicelmpl implements UserService{

    private UserDao UserDaolmpl=new UserDaolmpl();//
//    //如果要掉UserDaoMysqllmpl的实现就要改动
//   private UserDao UserDaolmpl=new UserDaoMysqllmpl();
//    //也可以利用set方法可以动态实现值得注入
//  public  void setUserDao(UserDao userDao){
//      this.UserDaolmpl = userDao;
//  }
 @Override
    public void getUser() {
        UserDaolmpl.getUser();
    }
}

Test

import com.kuang.Service.UserService;
import com.kuang.Service.UserServicelmpl;
import com.kuang.dao.UserDaoMysqllmpl;

public class test {
    public static void main(String[] arsg){
        //用户实际掉的是Services层,不接触Dao层
        UserService userService =new UserServicelmpl();
        UserService userService1 ;
        userService.getUser();
        //动态实现值得注入
	((UserServicelmpl) userService1).setUserDao(new UserDaoMysqllmpl());
	userService.getUser();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值