Java 框架 DAY-5

目录

Sping 框架两大核心模块

IOC&DI

IOC:

DI:

常用的具有IOC功能的注解

IOC实现方式有3种

AOP  面向切面编程

安装aop依赖

 @Before

 @AfterReturning

@After

​编辑

 @AfterThrowing

@Around


Sping 框架两大核心模块

IOC&DI

IOC:

Invension   Of   Control      控制反转(在运行时基于反射发现组件类和注册对象的过程)  

        发现:运行时让IOC容器发现组件类

                1.组件类的层级不能高于启动类,只能小于等于

                2.组件类上需要有IOC注解

        注册:发现后就会触发注册  注册就是创建对象放入到IOC容器

        创建对象的控制权 反转给了IOC容器

DI:

Dependency  Injection          依赖注入(赋值的过程)

        注入:在运行时从IOC容器中找到与指针相匹配的对象赋值给指针的过程

发现  -->   注册   -->   注入         都是在运行时发生

先有控制反转 再有依赖注入 缺一不可

 Component 组件(组成工程的元件,指的是类(运行前就有的类)

Bean / JavaBean  组件 指的是对象  运行时产生的对象(被IOC容器发现后创建的对象)

什么是控制权?

创建对象的控制权   new 构造方法()
 

高内聚低耦合:编程思想

        耦合=依赖(工程依赖工程        类依赖类

高内聚就是一个类封装的很完善,每个类只完成一项任务,也就是常说的单一责任原则

高耦合:直接依赖了具体实现类

解耦合1:
下层面向接口,解决代码修改风险1的问题

 解耦合2:

下层提供工厂方法 解决代码修改风险2的问题

 解耦合3:

Spring IOC

解耦合最终目的:为了让上层不关心下层

常用的具有IOC功能的注解

1.@Controller / @RestController

        用于控制器类的发现和注册

2.@Service

        用于Service业务类层的发现和注册

3.@Repository(如果用了MyBatisi框架就不会用到这个注解)

        用于DAO层类的发现和注册

4.@Component

        用于任何一个普通类的发现和注册

5.@MapperScan()                

        用于发现Mapper包,在运行时创建接口的实现类,并注册对象到IOC容器

       

        

IOC实现方式有3种

面试时要会说出哪三种

1.基于XML文件实现(框架早期使用  已淘汰)

        XML文件写在resources目录中,xml可以有多个

 

 

 

 

2.基于注解实现

3.基于配置类实现

    启动类,或者任意一个带有@Configuration注解的类都可以是一个配置类

AOP  面向切面编程

Aspect Oriented  Programming

可以解决一些侵入代码 如try catch  log打印  使得代码更加优雅

安装aop依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>

 

 @Before

 @AfterReturning

@After

 @AfterThrowing

@Around

全局异常处理器模型

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值