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三级缓存解决循环依赖
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值