JavaEE-Spring相关

1.spring是什么

  • spring是轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(面向切面编程)为内核提供了展现层SpringMVC和持久层Spring JDBC以及业务层事务管理等众多的企业级应用技术,逐渐成为使用最多的java ee企业应用开源框架

2.spring的优势

  • 方便解耦,简化开发
    • 通过 Spring 提供的 IoC 容器,可以将对象间的依赖关系交由 Spring 进行控制,避免硬编码所造成的过度程序耦合
  • AOP编程的支持
    • 通过 Spring 的 AOP 功能,方便进行面向切面的编程,许多不容易用传统 OOP 实现的功能可以通过AOP轻松应对
  • 声明式事务的支持
    • 通过声明式方式灵活的进行事务的管理,提高开发效率和质量。
  • 方便程序的测试

3.spring的注入方法

  • set()注入
    在这里插入图片描述

  • 构造器注入
    在这里插入图片描述

  • 注解注入
    @Autowired

3.IOC(控制反转)

  • 控制反转就是将创建对象的控制权进行转移,以前创建对象的控制权在程序员自己,而现在这种权利转移到第三方,例如IOC工厂,它是一个专门用来创建对象的工厂(BeanFactory),所有对象由工厂创建,依赖关系此时发生改变,原来的依赖关系消失,它们都依赖IOC容器,而不是彼此依赖
  • ioc的一个重点是在系统运行中,动态的向某个对象提供他所需要的对象,这一点是通过DI(Dependency Injection )依赖注入实现。依赖注入是基于反射实现的,反射可以在程序运行过程中动态的生成对象,执行对象的方法
  • Spring的IOC有三种注入方式 :构造器注入、setter方法注入、根据注解注入

4.@Controller和@RestController

  • @RestController注解相当于@ResponseBody + @Controller合在一起的作用
  • 使用@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面
  • @ResponseBody是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据,使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面

5.spring支持bean的作用域

  • singleton:默认,每个容器中只有一个bean的实例
  • prototype:每次从容器中调用bean时,都会返回一个新的实例

6.AOP常用注解

在这里插入图片描述

7.AOP执行顺序

正常
在这里插入图片描述
异常
在这里插入图片描述

8.spring循环依赖相关问题

在这里插入图片描述

9.什么是循环依赖

在这里插入图片描述

在这里插入图片描述

10.一个循环依赖的结论

在这里插入图片描述
在这里插入图片描述
spring三级缓存解决循环依赖
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果主要使用构造函数注入,可能无法解决循环依赖的问题

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值