springboot 分层解耦(IOC,DI,bean)

tip:听课笔记。

1.由于在程序调用的过程中service层调用了持久层,controller有需要调用业务逻辑层,他们之间通过对象的创建进行互相调用,在new一个service的实现类,对象如果类名改变后就会报错,所以需要解耦。

2.IOC容器(spring容器),DI,bean的出现

 2.1 IOC的DI的入门

①.Service层及Dao层的实现类,交给IOC容器管理。

        在类上加上注解@component  将类交给交给IOC容器管理。成为IOC容器的bean

②.为Controller及Service注入运行时,依赖的对象。

        在成员变量上加上注解@Autowired完成依赖注入操作,在程序运行时就会给该变量赋予相对应的对象。

③.运行测试。

tip:疑问为什么这样就能解耦合呢:

a:比如我们有两个实现类public class EmpServiceA implements EmpService {}

                                        public class EmpServiceB implements EmpService {}

我们不想用EmpServiceA 中的功能,只需要把注解@component 删掉,在EmpServiceB 加上注解交给IOC容器。(如果都有注解怎么依赖注入看4.DI的详解)

就可以改变业务逻辑,而不需要改动代码 。实现了解耦

3.ioc的详解

tip:1.@Component 多用于工具类的注解

     2.@RestController包括@Controller和 @ResponseBody(请求响应(类型:方法注解、类注解

        位置:Controller方法上/类上

        作用:将方法返回值直接响应,如果返回值类型是实体对象/集合,将会转换为SON格式响应

        说明:@RestController=@Controller+@ResponseBody;))

      3.声明bean的时候,可以通过value属性指定bean的名字,如果没有指定,默认为类名首字母小写。

      4.使用以上四个注解都可以声明bean,但是在springboot集成web开发中,声明控制器bean只能用@Controller。

4.DI的详解

        

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值