SpringBoot其中的细节详解

SpringBoot 的特点:

  1. 创建应用打包的方式是jar 包而不是war 包
  2. 内嵌servlet 容器,通过appplication.properties 文件配置tomcat 具体的端口信息
  3. 整合其他的框架是只需要加入相应的依赖就行,不需要在项目的配置文件中添加
  4. 提供了许多开箱即用的插件,简化了maven 的配置,只需要添加maven 的依赖就行
  5. 自动配置spring 提高代码的效率
  6. 无需任何xml配置,springboot 框架只有一个application.properties 配置文件,没有其他需要配置的xml 文件

使用的前提(版本的要求):
springBoot 1.1.6RELEASE java 7以上

启动程序详解:

目录结构:

  1. application.properties 为spring Boot应用的属性文件,可以修改spring boot的一些默认设置
  2. static:用于存放静态资源(image,CSS文件,js 文件等)
  3. temptelates :存放web 页面模板,spring boot默认的jar 报使用嵌入式的tomcat ,默认不支持jsp 页面;但是可以使用模板引擎(free marker ,thyme leaf)

application.properties 文件

  1. 是Spring Boot的属性配置文件,可以在里面对Spring Boot服务的端口进行调整。或者修改tomcat 的端口

启动程序代码

package com.example.demo;
import.....
@SpringBootApplication 
public class DemoApplication {
	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
}

@SpringBootApplication : 是springBoot 的核心注解。开始扫描组件和自动配置,Spring boot通过运行这个类的main 方法来启动Spring Boot程序

SpeingBootApplication 是一个复合注解:

  1. @SpringBootConfiguration : 表示被标注的是Spring Boot的配置类;
    标注在某个类上,表示这是一个Spring Boot的配置类;
    向下:@Configuration**:配置类上来标注这个注解【spring 底层注解】
    配置类 ----- 配置文件;配置类也是容器中的一个组件;@Component【spring 底层注解】
  2. EnableAutoConfiguration:开启自动配置功能;>
    以前我们需要配置的东西,Spring Boot帮我们自动配置;@EnableAutoConfiguration告诉SpringBoot开启自动配置功能;这样自动配置才能生效;
    (1.) 向下:@AutoConfigurationPackage:自动配置包
    向下:@Import(AutoConfigurationPackages.Registrar.class):Spring的底层注解@Import,给容器中导入一个组件;导入的组件由AutoConfigurationPackages.Registrar.class;
    将主配置类(@SpringBootApplication标注的类)的所在包及下面所有子包里面的所有组件扫描到Spring容器;
    (2.) @EnableAutoConguration下还有一个注解:
    @Import(EnableAutoConfigurationImportSelector.class);
    给容器中导入组件?
    EnableAutoConfigurationImportSelector:导入哪些组件的选择器;
    将所有需要导入的组件以全类名的方式返回;这些组件就会被添加到容器中;
    会给容器中导入非常多的自动配置类(xxxAutoConfiguration);就是给容器中导入这个场景需要的>所有组件,并配置好这些组件,有了自动配置类:
    Spring Boot在启动的时候从类路径下的META-INF/spring.factories中获EnableAutoConfiguration指定的值,将这些值作为自动配置类导入到容器中,自动配置类就生效,帮我们进行自动配置工作; 以前我们需要自己配置的东西,自动配置类都帮我们;

J2EE的整体整合解决方案和自动配置都在spring-boot-autoconfigure-1.5.9.RELEASE.jar;
pom.xml 配置文件:

  1. 导入父依赖,这是所有的SpringBoot 的依赖,提供了一些默认设置,对所有依赖的版本进行统一的管理(版本仲裁者),所以导入的依赖不用写版本号,但是一些不在父依赖中管理的还是要写
<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

web 项目所以要导入web 场景启动器

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

虽然springboot项目建立的时候就在idea 中配置过maven,还是要导入maven 插件表明springboot使用maven的方式进行项目的构建和管理 【能够以Maven的方式为应用提供Spring Boot的支持,即为Spring Boot应用提供了执行Maven操作的可能。】

<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

猜你喜欢

转载自blog.csdn.net/Stitch__/article/details/88311697