1,SpringBoot里面有内置的tomcat容器。

2,SpringBoot是基于已有的东西创建的新的东西。核心:(AutoConfiguration)自动装载,Starter,Actuator,SpringBoot CLI

3,SpringBoot本质上还是使用IOC。

4,剖析启动注解(SpringBootApplication)

从第二张图的可以看出SpringBootApplication是一个复合注解,里面有:

(1)ComponentScan注解:

  定义扫描@Controller,@Service,@Reponsitory,@Component的范围。

  在早期:<context:component-scan />使得带有上述注解的类被加载到spring容器中

(2)EnableAutoConfiguration注解:

  在以前,需要在applicationContext.xml中配置bean的信息

  在Spring3开始,他支持了JavaConfig(Java jdk5支持了注解):所谓的JavaConfig就是基于注解实现IOC容器的配置(实现Bean的管理)

  下面是配置bean托管的三种方式

  1)xml的方式    

  

  2)@Configuration注解的方式        

  

  3)@ComponentScan注解的方式(装载当前包下面使用了注解(@Controller,@Service,@Dao)的类)

  1.可以加载到同一包下加注解的类

  

  

  2.不同包下加载不到

  

  

  3.可以通过指定扫描的包解决上述问题

  @ComponentScan(basePackages = "com.example.demo")

   

  (4)@EnableAutoConfiguration

    @AutoConfigurationPackage
   @Import({AutoConfigurationImportSelector.class})
    1)@import注解
      如下图:在Demo2Main中获取容器中的bean会发现加载不到tempp包下的bean,想要加载指定的其他的bean,就可以使用import来实现

      

      @import 导入指定的bean

       

  (5)动态注入

  

5,RestController注解

这个注解也是一个复合注解:

这也是为什么使用了RestController这个注解之后就不需要再写ResponseBody注解,Controller注解。

SpringBoot-自动装载的更多相关文章

  1. Spring-Boot自动装载servlet

    Spring-Boot自动装载servlet 本人spring-boot相关博客均自己手动编写,但技术均从简书 恒宇少年 处学习,该大佬一直是我的偶像,鉴于能充分理解,所以已做笔记的方式留下这些文档, ...

  2. springboot(二)配置SpringBoot支持自动装载Servlet

    Servlet详解:https://blog.csdn.net/yanmiao0715/article/details/79949911 Web 技术成为当今主流的互联网 Web 应用技术之一,而 S ...

  3. 源码学习系列之SpringBoot自动配置(篇一)

    源码学习系列之SpringBoot自动配置源码学习(篇一) ok,本博客尝试跟一下Springboot的自动配置源码,做一下笔记记录,自动配置是Springboot的一个很关键的特性,也容易被忽略的属 ...

  4. 源码学习系列之SpringBoot自动配置(篇二)

    源码学习系列之SpringBoot自动配置(篇二)之HttpEncodingAutoConfiguration 源码分析 继上一篇博客源码学习系列之SpringBoot自动配置(篇一)之后,本博客继续 ...

  5. SpringBoot自动装配-源码分析

    1. 简介 通过源码探究SpringBoot的自动装配功能. 2. 核心代码 2.1 启动类 我们都知道SpringBoot项目创建好后,会自动生成一个当前模块的启动类.如下: import org. ...

  6. SpringBoot自动装配-Condition

    1. 简介 @Conditional注解在Spring4.0中引入,其主要作用就是判断条件是否满足,从而决定是否初始化并向容器注册Bean. 2. 定义 2.1 @Conditional @Condi ...

  7. php类自动装载、链式操作、魔术方法

    1.自动装载实例 目录下有3个文件:index.php load.php tests文件夹 tests文件夹里有 test1.php <?php namespace Tests; class T ...

  8. Archlinux 的U盘自动装载(三)udevil

    U盘的自动装载方法,目前我已经使用过以下几种方法: udev 规则 基于 udev 规则的 Shell script udisks 以及 udisks2 结果,总是存在这样那样的小问题.例如,文件名乱 ...

  9. Archlinux 的U盘自动装载(一)udisks

    为什么要用 udisks + udevil 方式自动装载 U 盘? Gnome 和 KDE 下的很多文件管理器都有自己的U盘装载方案.但我的应用环境为: Archlinux,xorg,Openbox, ...

  10. spring Bean类自动装载实现

    先贴spring的开发文档,有助于大家学习http://shouce.jb51.net/spring/beans.html#beans-factory-class 一直想研究一下spring bean ...

随机推荐

  1. 题解【洛谷P5958】[POI2017]Sabotaż

    题面 考虑树形 \(\text{DP}\). 设 \(dp_i\) 为使 \(i\) 变成叛徒的最大值,同时 \(dp_i\) 也是使 \(i\) 不变成叛徒的最小值. 然后考虑如何转移状态. 如果 ...

  2. 小匠第二周期打卡笔记-Task03

    一.过拟合欠拟合及其解决方案 知识点记录 模型选择.过拟合和欠拟合: 训练误差和泛化误差: 训练误差 :模型在训练数据集上表现出的误差, 泛化误差 : 模型在任意一个测试数据样本上表现出的误差的期望, ...

  3. Git的安装与使用详解

    git安装 下载安装git:采用默认配置安装即可 使用git --version确认是否安装成功,如下 GitHub使用: 配置sshkey,后续可以免密登录github cd / ssh-keyge ...

  4. 在多租户(容器)数据库中如何创建PDB:方法5 DBCA远程克隆PDB

    基于版本:19c (12.2.0.3) AskScuti 创建方法:DBCA静默远程克隆PDB.将 CDB1 中的 PDB1 克隆为 CDB2 中的 ERP2 对应路径:Creating a PDB ...

  5. Codeforces Round #611 (Div. 3) A-F简要题解

    contest链接:https://codeforces.com/contest/1283 A. Minutes Before the New Year 题意:给一个当前时间,输出离第二天差多少分钟 ...

  6. 剑指offer 面试题56. 数组中只出现一次的两个数字

    题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 方法1:用set记录出现过的数字 class Solution { public: void F ...

  7. HTML连载61-焦点图、固定定位

    一.焦点图 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  8. java程序启动参数

    例如 启动进程如下 /home/work/noah/ccs/jc-controller/jdk1.7.0_55/bin/java -Xmx4096m -Xms4096m -Xmn1024m -XX:+ ...

  9. vue项目接入百度地图

    方法一 :使用第三方工具 vue-baidu-map 安装命令: yarn add vue-baidu-map --save 文档地址:https://dafrok.github.io/vue-bai ...

  10. C#中通过SendARP读取MAC地址

    C#中通过SendARP读取MAC地址: using System.Runtime.InteropServices; publicstaticstring GetMacBySendARP(string ...