当前位置: 首页 > article >正文

Spring,SpringMVC,SpringBoot

        1.Spring最核心包括aop和ioc概念
                AOP

                        能够将将哪些于业务无关的,并且大量重复的业务逻辑进行封装起来,便于减少重复代码,降低模块之间的耦合度,给未来的系统更好的可用性和可维护性。

                Spring中AOP是采用动态代理,JDK代理只能代理实现接口的类,无法使用,所以通过CGLIB动态代理生成一个被代理对象的子类作为代理实现。

                IOC

                       将由程序手动创建的对象的控制权,交给IOC进行管理,并且有IOC来进行完成对象的注入,这样可以很大程度上简化应用的开发过程,将应用从复杂的依赖关系解放出来。IOC容器就想一个工厂一样,我们需要创建一个对象的时候,通过配置文件配置即可,完全不用去管对象是如何创建出来的。

                Spring的IOC的对象创建原理是通过工厂模式+反射机制。

                Spring框架中使用代哪些设计模式?

                  1.单例模式:例如Spring的bean是单例的。

                  2.代理模式:Spring中AOP模式。

                  3.工厂模式:IOC生成bean对象过程。

                  4.模板方法模式:spring的jdbcTemplat操作数据的

                  5.适配器模式;spring AOP的增强和通知使用。

        2.SpringMVC的流程

                流程过程

                       主要是客户端将请求发给spring MVC中dispatcherServlet类,通过它去寻找handler然后找到对应controller层进行执行业务代码,然后返回modelandview层。然后通过ViewReslver寻找实际的view层,然后将返回model层传给view进行渲染,返回给浏览器展示。

        3.SpringBoot
                特点

                1)自动配置:项目依赖自动配置spring组件。

                2)起步依赖:提供定义好的依赖组件,并且支持第三方集成。

                3)内嵌服务器:默认集成Tomcat,jetty服务,支持通过application.yml进行配置

                4)注解驱动于xml进行配置

                5)生产就绪功能:autuator模块提供端点监控应用服务;外部化配置,支持多环境配置,通过@profile注解。

                常用注解

                1)@SpringBootConfiguration:组合@configuration.实现配置文件的功能。

                2)@EnableAutoConfiguration:开启自动配置功能,也可以自动关闭自动配置功能。

                3)@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})。

                4)@ComponentScan:spring组件扫描。

                5)@profile: 是在特定环境下使用(dev,test,pro)

                6)@Bean: 使用在方法,对方法中定义这bean,告诉spring这某个类的事例,我需要的时候spring返回给我。

                7)@RequestParam: 获取URL中查询参数。

                     @PathVariable: 获取URL中的变量

                     @RequestBaby: 获取对象变量。

                8)@RequestMapping:映射到HTTP请求到控制器方法,控制路径。

                9)@Autowired:  进行依赖注入Bean,默认按照类型注入。

                      @Resource:  进行依赖注入Bean,默认按照名称注入。

                10)RestController: 组合@Controller和@ResponseBaby,主要定义RESTFUL API,返回JSON数据。                        

                11)@Component:是主要在类上使用,是通过扫描类路径进行自动检测已经自动装配代spring容器中,如果一个Bean不知道是哪一个层,可以使用这个注解。       

                12)@Repository:对应使用在dao层,主要是用于数据库相关操作。

                13)@Service:对应服务层,主要是涉及一些复杂的业务逻辑,需要用到Dao层。

                14)@Controller:对应Spring Mvc的控制层,主要是用接受用户的请求并且调用service层的方法返回给前端页面。

                

http://www.lryc.cn/news/2395794.html

相关文章:

  • npm、pnpm、yarn使用以及区别
  • flutter加载dll 报错问题
  • 数据分析学习笔记——A/B测试
  • 【python深度学习】Day 41 简单CNN
  • 基于RK3568/RK3588/全志H3/飞腾芯片/音视频通话程序/语音对讲/视频对讲/实时性好/极低延迟
  • 解决 Win11 睡眠后黑屏无法唤醒的问题
  • [ElasticSearch] RestAPI
  • Linux中的shell脚本
  • dvwa3——CSRF
  • 【学习笔记】Transformer
  • 欢乐熊大话蓝牙知识12:用 BLE 打造家庭 IoT 网络的三种方式
  • 02.上帝之心算法用GPU计算提速50倍
  • MES管理系统:Java+Vue,含源码与文档,实现生产过程实时监控、调度与优化,提升制造企业效能
  • LeetCode算法题 (搜索二维矩阵)Day18!!!C/C++
  • VectorStore 组件深入学习与检索方法
  • HackMyVM-First
  • 30V/150A MOSFET 150N03在无人机驱动动力系统中的性能边界与热设计挑战
  • 数据共享交换平台之数据资源目录
  • 跨平台浏览器集成库JxBrowser 支持 Chrome 扩展程序,高效赋能 Java 桌面应用
  • WEBSTORM前端 —— 第3章:移动 Web —— 第3节:移动适配
  • 38.springboot使用rabbitmq
  • 弱光环境下如何手持相机拍摄静物:摄影曝光之等效曝光认知
  • Selenium Manager中文文档
  • WEB安全--SQL注入--MSSQL注入
  • 【HTML】基础学习【数据分析全栈攻略:爬虫+处理+可视化+报告】
  • SAP Business ByDesign:无锡哲讯科技赋能中大型企业云端数字化转型
  • 华为OD机考2025B卷 - 无向图染色(Java Python JS C++ C )
  • 计算机网络学习20250528
  • Next.js路由导航完全指南
  • 五、web安全--XSS漏洞(1)--XSS漏洞利用全过程