首页 > 其他分享 >11.springboot 原理 ( 起步依赖-自动配置)

11.springboot 原理 ( 起步依赖-自动配置)

时间:2023-06-24 23:33:48浏览次数:46  
标签:11 容器 起步 springboot spring 导入 Import 注解 IOC

springboot 原理

spring framework
spring boot(配置起步依赖-自动配置)
spring-boot-starter-web 起步依赖(其他依赖自动传递)
自动配置原理:自动将内置类存入IOC容器中,不用收到配置,只能扫描包内即子包的类,可以指定扫描的包内容:

@ComponentScan("com.alex","com.ite");

@Import 导入的类会被spring加载到IOC容器内。
@Import(类)//导入普通类,交给IOC容器管理
@Import(类)//导入配置类,交给IOC容器管理
@Import(类)//导入improtSelector接口实现类
@EnableHeadConfig注解:封装@import注解, 导入响应的类

自动配置原理:

@SpringBootApplication 注解底层包含3个核心注解:
1. @SpringBootConfiguration
2.@EnableAutoConfiguration-->底层包含:@import(importSelector接口:读2个文件:meta-inf/...import ;@ConditionalOnMissingBean 根据条件智能装入容器IOC)
3.@ComponentScan

注解注入IOC容器:

@Component
@Controller
@Service
@Repository

标签:11,容器,起步,springboot,spring,导入,Import,注解,IOC
From: https://www.cnblogs.com/chenshaojun2008/p/17501876.html

相关文章

  • pybind11内嵌解释器
    一、创建解释器需要在使用任意PythonAPI前初始化解释器,包括pybind11Python函数和类。RAIIguard类`scoped_interpreter`可用来管理解释器的生命周期。在guard类销毁时,解释器将会关闭并占用的内存。必须在所有Python函数前调用它。#include<pybind11/embed.h>//everything......
  • mysql8 执行聚合函数报错:Error 1140: In aggregated query without GROUP BY,sql_mode
    解决办法:setglobalsql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';SETGLOBALlog_bin_trust_function_creators=1;setsessionsql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZER......
  • [leetcode]114. 二叉树展开为链表
    总结:怎样写递归函数?关键是把递归函数的功能定义清楚,并在递归函数体中使用自身来做事,此时不要关注递归函数执行的细节。也就是写高层级代码的时候不要关注低层级的事情,这就叫抽象。关注也没有用,想不清楚的。 1classSolution{2publicvoidflatten(TreeNoderoot){......
  • pybind11绑定类(一)
    一、自定义数据结构-结构体`class_`会创建C++class或struct的绑定。`init()`方法使用类构造函数的参数类型作为模板参数,并包装相应的构造函数;静态成员函数需要使用`class_::def_static`来绑定#include<pybind11/pybind11.h>namespacepy=pybind11;structPet{Pet......
  • day112 - mybatis的查询与特殊sql语句
    mybatis查询与特殊语句查询普通语句/***根据id查询用户信息*@paramid*@return*/UsergetUserById(@Param("id")Integerid);​<!--UsergetUserById(@Param("id")Integerid);--><selectid="getUserById"resultType="com.......
  • Apollo2.1.0+Springboot使用OpenApI
    依赖管理<!--bootstrap最高级启动配置读取--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId><version>3.1.3</v......
  • springboot使用Websocket写一个聊天室
     1<!--websocket依赖-->2<dependency>3<groupId>org.springframework.boot</groupId>4<artifactId>spring-boot-starter-websocket</artifactId>5</dependency>目录 ......
  • 基于springboot+vue的漫画之家管理系统,附源码+数据库+论文+PPT,适合课程设计、毕业设计
    1、项目介绍随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,“漫画之家”系统就是信息时代变革中的产物之一。任何系统都要遵循系统设计......
  • springboot 学习框架
    李兴华,springboot开发书籍配套视频https://www.bilibili.com/video/BV1wL411H7W8?p=172&vd_source=debae4e77e1cafd283cb9668d2acb3a7......
  • pta题目集7~11总结性Blog
    前言:第七次题目集:本次题目集是菜单计价系统的一次迭代,在原有功能的基础上对输入的特色菜分为川菜,晋菜和浙菜三类,并在最后输出一桌的价格的时候还要将三种特色菜的点菜的口味程度一起输出,还要求对每位顾客的姓名和手机号进行格式的规范。本次题目需要在之前的菜单计价系统的基础之......