Spring Boot 启动步骤+底层原理+常用注解

1. Spring Boot基本启动过程描述如下:

1) 基于配置加载类(通过 ClassLoader 将指定位置的类读到内存->底层通过线程调用 IO
从磁盘读取到内存)。

2) 对类进行分析(创建字节码对象-Class 类型,通过反射获取器配置信息)。

3) 对于指定配置 ( 例 如 由 spring 特 定 注 解 描 述 ) 的 对 象 存 储 其 配 置 信 息 ( 借 助
BeanDefinition 对象存储)。

4) 基于 BeanDefinition 对象中 class 的配置构建类的实例(Bean 对象),并进行 bean 对象
的管理(可能会存储到 bean 池)。 

2.Spring Boot 底层原理+知识点

*底层原理*
Spring Boot的核心理念:约定大约配置,约定了某种命名规范,可以不用配置,就可以完成功能开发

/**SpringBoot是什么?*/
   SpringBoot是一个框架,一种全新的编程规范,它的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。
    
/**SpringBoot可以做什么?*/
    让文件配置变的相当简单、让应用部署变的简单(SpringBoot内置服务器Tomcat、Jetty等,并装备启动类代码),可以快速开启一个Web容器进行开发。
       
/**SpringBoot特点?*/  
	搭建项目快,几秒钟就可以搭建完成;
	Spring Boot让配置变的简单,Spring Boot的核心理念:约定大约配置,约定了某种命名规范,可以不用配置,就可以完成功能开发,比如模型和表名一致就可以不用配置,直接进行CRUD(增删改查)的操作,只有表名和模型不一致的时候,配置名称即可;
	内嵌容器,省去了配置Tomcat的繁琐;
	让测试变的简单,内置了JUnit、Spring Boot Test等多种测试框架,方便测试;
	方便监控,使用Spring Boot Actuator组件提供了应用的系统监控,可以查看应用配置的详细信息。
 
/**SpringBoot的好处*/       
    其实就是简单、快速、方便!平时如果我们需要搭建一个 Spring Web 项目的时候需要怎么做呢?

	配置 web.xml,加载 Spring 和 Spring mvc
	配置数据库连接、配置 Spring 事务
	配置加载配置文件的读取,开启注解
	配置日志文件

	配置完成之后部署 Tomcat 调试
    
/**Spring Boot包含两种格式的配置文件:*/
    yml		 data:
  	  	 		 app:
        			appKey: Test
    
    properties
                data.app.appKey = Test

 

3.Spring Boot常用注解

1.@SpringBootApplication :启动类注解
    本质上是由 3 个注解组成,分别是
    @Configuration
    @EnableAutoConfiguration
    @ComponentScan
2.@SpringBootTest :测试类注解

3.@ComponentScan :@ComponentScan作用就是扫描当前包以及子包,将有@Component,@Controller,    @Service,@Repository等注解的类注册到容器中,以便调用。

4.@SpringBootConfiguration :标注在某个类上 , 表示这是一个SpringBoot的配置类

5.@EnableAutoConfiguration:是借助@Import的帮助导入AutoConfigurationImportSelector,将所有符合自动配置条件的bean定义加载到IoC容器
在AutoConfigurationImportSelector中使用SpringFactoriesLoader加载bean

4.Spring Boot 默认端口号+如何修改端口号

默认端口号8080  

在src/main/resources目录下的文件application.properties,并进行配置,来重写spring boot的默认配置
#指定端口号
1.(修改端口号) server.port=8090

你可能感兴趣的:(spring,boot,java,spring)