lcx-框架

本文深入探讨了Spring的核心特性,包括IoC和AOP,详细介绍了AOP的注解使用。此外,还讨论了SpringBoot的自动装配原理和配置文件内容。进一步讲解了SpringBoot项目打包、部署和运行的过程,以及Spring如何控制事务。在SpringMVC部分,解释了常用注解的作用和工作流程。文章还涵盖了MyBatis的工作原理、缓存机制以及与Spring的整合。同时,文章讨论了SpringBoot的异常处理、拦截器和过滤器的配置,并介绍了SpringSession的原理。SpringCloud组件如Eureka、Feign、Hystrix等也被提及。最后,文章探讨了Dubbo与SpringCloud的区别,以及Gateway的动态路由实现和鉴权框架的选择与使用。
摘要由CSDN通过智能技术生成

1. spring的特性是什么?ioc和aop的原理是什么?aop的注解有哪些?

Spring拥有两大特性:IoC和AOP。IoC,英文全称Inversion of Control,意为控制反转。AOP,英文全称Aspect-Oriented Programming,意为面向切面编程

ioc:控制反转,简单点说,就是创建对象的控制权,被反转到了Spring框架上

aop:面向切面编程 将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。所谓"切面", 简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码, 降低模块之间的耦合度,并有利于未来的可操作性和可维护性。

aop注解:

(1)Before:在目标方法被调用之前做增强处理,@Before只需要指定切入点表达式即可

(2)AfterReturning:在目标方法正常完成后做增强,@AfterReturning除了指定切入点表达式后,还可以指定一个返回值形参名returning,代表目标方法的返回值

(3)AfterThrowing:主要用来处理程序中未处理的异常,@AfterThrowing除了指定切入点表达式后,还可以指定一个throwing的返回值形参名,可以通过该形参名

来访问目标方法中所抛出的异常对象

(4)After:在目标方法完成之后做增强,无论目标方法时候成功完成。@After可以指定一个切入点表达式

(5)Around:环绕通知,在目标方法完成前后做增强处理,环绕通知是最重要的通知类型,像事务,日志等都是环绕通知,注意编程中核心是一个ProceedingJoinPoint

2. springboot自动装配原理是什么? springboot 配置文件中常用配置有哪些

SpringBoot启动的时候加载主配置类,开启了自动配置功能@EnableAutoConfiguration

将类路径下META-INF/spring.factories里面配置的所有EnableAutoConfiguration的值加入到了容器中

properties文件和yml文件

3. Springboot项目如何打包、部署、运行?

用idea开发工具右侧的maven projects  intall package 然后就会出来我们需要的jar

然后到这个jar的根目录下执行java -jar smallsystem-0.0.1-SNAPSHOT.jar

4. spring是如何控制事务的?

使用注解配置

使用@Transactional注解 需要在配置文件中开启对这个注解的扫描:<tx:annotation-driven transaction-manager=“transactionManager” />,引用了事务管理器

然后就可以使用@Transactional注解,此注解可以使用在类上,也可以使用在方法上,使用在类上即对此类的所有方法都起作用,使用在方法上则表示对单个方法起作用

5. springmvc常用注解及作用?

1、@Controller

在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定义URL 请求和Controller 方法之间的映射,这样的Controller 就能被外界访问到。

2、@RequestMapping

RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

3、@Resource和@Autowired

@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。

4、@PathVariable

用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri模板中的变量作为参数。如:

7、@ResponseBody

作用:将方法的返回值,以特定的格式写入到response的body区域,进而将数据返回给客户端。

如果返回值是字符串,那么直接将字符串写到客户端;如果是一个对象,会将对象转化为json串,然后写到客户端。

6. springmvc的工作流程是什么?

SpringMVC流程

1、 用户向服务端发送一次请求,这个请求会先到前端控制器DispatcherServlet(也叫中央控制器)。

2、DispatcherServlet接收到请求后会调用HandlerMapping处理器映射器。由此得知,该请求该由哪个Controller来处理(并未调用Controller,只是得知)

3、DispatcherServlet调用HandlerAdapter处理器适配器,告诉处理器适配器应该要去执行哪个Controller

4、HandlerAdapter处理器适配器执行Controller得到ModelAndView(数据和视图),并层层返回给DispatcherServlet

5、DispatcherServletModelAndView交给ViewReslover视图解析器解析,然后返回真正的视图。

6、DispatcherServlet将模型数据填充到视图中

7、DispatcherServlet将结果响应给用户

7. mybatis的工作原理是什么? mybatis的缓存的理解?

Mybatis工作原理

1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值