Spring系列注解--ruoyi

Spring IOC、DI、MVC

IOC

IOC(Inversion of Control–控制反转),是一种设计思想,是Spring的核心。

  • 控制: IOC容器控制对象,主要控制了外部资源获取(不只是对象包括文件等)
  • 反转:由对象主动去找转为由容器进行查找以及注入依赖对象,对象只是被动的接受依赖对象。

DI

DI(Dependency Injection–依赖注入),由容器动态的将某个依赖关系注入到组件中。为了提升组件重用的频率,为系统搭建一个灵活、可扩展的平台。

  • 程序依赖于IOC容器
  • 程序需要IOC容器来提供对象需要的外部资源
  • IOC容器注入程序某个对象
  • 注入了某个对象所需要的外部资源(包括对象、资源、常量数据)

IOC和DI理解来源于Acrash

MVC

MVC(Model-view-controller),一种软件架构模式,把软件系统分为三个基本部分:模型,视图和控制器

  • 模型(Model):数据模型,提供需要展示的数据,现在分开来形成 value object(数据dao)和服务层(service),提供了模型数据查询和模型数据状态更新
  • 视图(View):用户界面,负责模型的展示
  • 控制器(controller): 接收用户请求,委托给模型进行处理,处理完毕后将返回的模型数据返回给视图

注解使用

  • 注册Controller
    1.@Controller:用于标识控制器的注解。用于处理HTTP请求并返回响应结果
    2.@RestController:标识一个类为SpringMVC的Rest风格的控制器。该注解的类中的所有方法以Json或xml形式返回响应结果
  • 注册HTTP 请求处理函数
    1.@RequestMapping:用于指定控制器处理的请求路径,用在类级别和方法级别,在方法上可通过method指定请求方法(GET,POST,DELETE,PUT)。在类中这个前缀会被应用到类中的所有处理请求方法上。
    2.GetMapping:用于映射get请求到控制器方法
    3.PostMapping:用于映射post请求到控制器方法
    4.PutMapping:用于映射put请求到控制器方法
    5.DeleteMapping:用于映射delete请求到控制器方法
  • HTTP 请求参数和返回参数
    1.@RequestParam:将请求参数绑定到控制器方法的参数上
    2.@PathVariable:将url中的一部分作为控制器方法的参数。即url中?后面的内容
    3.@RequestBody:将请求体(Json)的内容绑定到控制器方法的参数上
    4.@ResponseBody:将控制器方法的返回值(Json)直接写入http响应体中
  • 注册Service
    1.@Service:该注解的类为Service类,会被自动注入到Spring容器中

ruoyi–Spring IOC、DI 进行对象创建和注入

@Component+@Autowired

  • 注册Bean并装配到Spring容器中:@Component

@Component 将该类标记为一个组件,Spring会自动扫描该类,并将其实例化为一个Bean,可在其他地方通过依赖注入的方式使用

在这里插入图片描述

  • 在CommonController类中注入Bean:@Autowired

@Autowired 是Spring对组件自动装配的一种方式。用于在一个组件中引入其他组件
默认按照类型装配Bean,需要用到名称装配时需要添加@Qualifier注解指定name属性告诉容器加载哪个Bean

在这里插入图片描述

  • 使用

在这里插入图片描述

(@Configuration+@Bean)+@Resource

  • 注册Bean,指定name并装配到Spring容器中:@Configuration+@Bean

@Configuration 注解加在类上相当于让类的功能等同于一个bean.xml配置文件。
@Bean 类似于bean.xml配置文件中的bean元素,在spring容器中注册一个bean。用在方法上的@Bean表示通过方法来定义一个Bean,通过name可指定注入到容器中的对象id(默认是方法名)。

在这里插入图片描述

  • 在CaptchaController类中注入Bean:@Resource

@Resource 装配Bean。默认按照名字装配Bean,即按照name属性的值找到具有相同id的Bean并注入。如果没有name属性,则根据被注入的属性的名字进行Bean装配

在这里插入图片描述

  • 使用

在这里插入图片描述

ruoyi-Spring MVC

注册Controller

在这里插入图片描述

注册处理函数

在这里插入图片描述

使用Controller

Spring MVC 框架会在前端发送HTTP 请求时,寻找匹配URI 映射处理函数

ruoyi-Springboot环境启动

@SpringBootApplication:核心注解。表明是个启动类注解。其中 DataSourceAutoConfiguration.class默认会自动配置但数据源,通过exclude 属性是为了排除自动注入数据源配置,使用多数据源进行配置
SpringApplication.run()方法:启动Spring运行环境。在对象初始化时保存事务监听器,容器初始化、创建、加载,web应用的判断,保存包含main方法的主配置类。

在这里插入图片描述

@SpringBootApplication注解详情
@SpringBootConfiguration: 与Spring中的@Configuration的作用基本一致,只不过这个注解是Springboot的注解
@EnableAutoConfiguration: 自动装配,内部还有@AutoConfigurationPackage注解(自动扫描包)和@Import注解(导入配置类或一些需要前置加载的类)
@ComponentScan:用于批量注册Bean。这个注解会让Spring扫描某些包及其子包中所有的类,然后将满足条件的类作为bean注册到spring容器中。重点

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值