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

SpringBoot实战(1)

SpringBoot总结

一,Spring 设计思想

OOP: 面向对象编程-》封装、继承、多态

BOP: 面向Bean编程-》一切从Bean开始

AOP: 面向切面编程-》解藕、专 人做专事

IOC: 控制反转,将new 对象的操作交给Spring统一管理-》转交控制权

DI/DL: 依赖注入/依赖查找-》自动赋值

DI和AOP都依赖 IoC

二,Spring5新特性及高频面试题

2.1, 升级JDK8,J2EE 7

2.2, 反应式编程

2.3 全面支持注解编程

2.4 支持函数式编程

2.5 全面支持Rest风格配置

2.6, 对HTTP2.0全面支持

2.7 Kotlin和Spring WebFlux

2.8 可以直接使用Lambda表达式来注册Bean

2.9 Spring Web MVC全面最新的Servlet API (去Servlet化)

2.10 Junit5直接执行并发测试

2.11 丢弃Hibernate3/4,只支持Hibernate5,对Portlet、Velocity、XMLBeans、JDO、Guava终止支持

2.12 Spring核心容器做了一些更新 @Nullable、Logback

三,Spring5注解编程基础组件(Spring Annotation API使用)

3.1 配置组件(Configure Components)

@Configuration: 把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean.

@ComponentScan: 在配置类上添加该注解,默认会扫描该类所在的包下所有的配置类,相当于之前的

@Scope: 用于指定作用域(用在类上)

prototype: 原型、多例

singleton: 单例

request: 主要用于web模块,同一次请求只创建一个实例

session: 主要用于web模块,同一次session只创建一个实例

@Lazy: 表示延迟初始化 默认非延迟加载,一般解决bean循环引用问题

@Conditional: Spring4开始提供,作用是按照一定的条件进行判断,满足条件给容器注册Bean.

@Import: 导入外部资源 外部资源可以不加任何注解修饰,通知该注解注入Bean

lifecycle 生命周期控制(对Bean生命周期的监控):

1, 配置@Bean的参数 initMethod = XXXMethod(),destroyMethod=XXXMethod()

2, 分别实现InitializingBean和DisposableBean接口 重写destroy()和afterPropertiesSet()进行销毁和初始化.

3, @PostConstruct 用于指定初始化方法(用在方法上);

@PreDestory: 用于指定销毁方法(用在方法上);

@DependsOn: 定义Bean初始化及销毁时的顺序.

4, 自定义一个类,实现BeanPostProcessor接口 重写postProcessBeforeInitialization和postProcessAfterInitialization接口.这里针对指定包下所有Bean进行统一处理

3.2 赋值组件(自动装配 )Injection Comp

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

相关文章:

  • Dgraph 入门教程二《 快速开始》
  • 文件上传{session文件包含以及条件竞争、图片文件渲染绕过(gif、png、jpg)}
  • 【论文精读】Mask R-CNN
  • vue + js 项目打包JS、CSS文件自动部署到oss
  • CSS:让动画流畅生动的缓动函数
  • 蓝桥杯集训·每日一题2024 (差分)
  • 嵌入式通信数据经常说的大端和小端模式(学习)
  • bun 单元测试
  • 阿里云2核4G服务器支持多少人同时在线?
  • 浏览器发出一个请求到收到响应步骤详解
  • 121. 买卖股票的最佳时机【leetcode】/动态规划
  • K8S Service相关概念
  • 小米消金剖析“冒充老板”诈骗案例,呼吁群众提高反诈意识
  • 全量知识系统问题及SmartChat给出的答复 之14 解析器+DDD+文法型 之2
  • 蓝桥杯备赛 day2 | 4. 付账问题 5. 数字三角形
  • 2024关于idea激活码报This license xxxx has been suspended
  • Android9-W517-使用NotificationListenerService监听通知
  • git的“You can‘t push commits with committe“解决方法
  • CAN总线的拓扑类型和CAN收发器(原理讲解)
  • 如何实现WordPress后台显示文章、分类目录、标签等的ID?
  • 【GB28181】SIP协议实践之Windows下VS2019编译eXosip、osip,测试(附工程源码,一键打开编译)
  • GPT提示语格式——个人自用
  • MCU最小系统电路设计(以STM32F103C8T6为例)
  • [JavaWeb学习日记]JSP+Cookie+Filter与登录+CRUD案例
  • Ruby网络爬虫教程:从入门到精通下载图片
  • 各中间件性能、优缺点对比
  • 修改表中某个字段等于另一个字段减去 2 小时的 SQL
  • Jetpack Compose: Hello Android
  • 蓝桥每日一题 (差分)3月3号
  • Mybatis和Spring Data Jpa的优缺点比较(八股文)