SpringBoot核心

1.基本配置

1.1入口类和@SrpingBootApplication

SpringBoot通常有一个名为*Application的入口类,入口类里有一个main方法,这个main方法就是一个标准的java应用的入口方法

。在main方法中使用SpringApplication.run,启动springboot项目。

其中@EnablieAutoConfiguration让springboot根据类路径中的jar包依赖为当前项目进行自动配置。例如,添加了spring-boot-starter

-web依赖,会自动添加tomcat和springMVC的依赖,那么springboot会对Tomcat和springMVC进行自动配置。又如,添加了

srping-boot-starter-data-jpa依赖,springboot会自动进行JPA的相关配置。

Springboot会自动扫描@SpringBootApplication所在类的同级包以及下级包里的Bean,建议入口类位置在groupId+arctifactID组合的包名i下。

1.2关闭特定的自动配置

关闭特定的自动配置应该使用@srpingBootApplication注解的exclude参数。

1.3关闭banner

将main里的内容修改为

1.4SpringBoot的配置文件

SpringBoot使用一个全局的配置文件application.properties。放置在src/main/resource目录或者类路径的/config下。

SpringBoot的全局配置文件的作用是对一些默认配置的配置进行一些修改。

将Tomcat的默认端口号8080修改为9090,并将默认访问路径“/”修改为“/helloboot”

1.5starter pom

springBoot为我们提供了简化企业级开发绝大数场景的start pom,只要使用了应用场景所需要的start pom,相关的技术配置就会消除

就可以通过Springboot得到自动配置的Bean。

官方 starter pom

还有一些第三方的start pom。

1.6使用xml配置

springboot提倡零配置,即无xml配置,但在实际项目中,可能有一些特殊要求必须使用xml配置。可以通过Spring提供的@ImportResource

注解来加载xml配置。

2.外部配置

2.1命令行参数配置

springboot可以是基于jar包运行的,打成jar包的程序可以直接通过如下命令运行

java -jar xx.jar

可以通过以下命令修改Tomcat端口号:

java -jar xx.jar --server.port=9090

2.2常用的属性配置

(1)application.properties增加属性

2.3类型安全的配置(基于properties)

上列中使用@value注入每个配置在实际项目中会显得格外麻烦,因为我们的配置通常会是很多个

springboot还提供了基于类型安全的配置通过@configurationProperties将properties属性和一个Bean及其属性关联。

3.日志配置

springboot支持java Util Logging,log4j,log4j2和logback作为日志框架。无论使用哪种日志框架,springBoot已经为当前使用日志框架

控制台输出和文件输出做好了配置。

默认情况下,springboot使用logback作为日志框架。

配置的日志级别为:

4.Profile配置

目录结构

5. Springboot的运行原理

springboot关于自动配置的源码在spring-boot-autoconfigure中

可以在这里查看源码

可以通过以下方式来产看当前项目汇总已启用或未启用的自动配置的报告。

在application.properies中设置属性:

debug=true

此时启动时可以在控制台中输出:

已启用的自动配置为:

5.1运行原理

关于springboot的运行原理,我们还是回归到@srpingBootApplication注解上来,这个注解是一个组合注解

它的核心功能是@EnableAutoConfiguration注解提供的。

  下面我们来看下@EnableAutoConfiguration注解的源码:

这里的关键功能是@import注解导入的配置功能,EnableAutoConfiggurationImportSelect使用

SpringFactoriesLoader。loadFactoryNames方法来扫描具有META-INF/spring.factories文件的jar

包,而我们的spring-boot-autoconfigure-1.3.0.xjar里就一个spring.factories文件。在此文件里声明了有哪些

自动配置。

5.2核心注解

打开上面人一个一个AutoConfiguration文件,一般都有下面的条件注解

原文地址:https://www.cnblogs.com/duan2/p/9220338.html

时间: 2024-11-06 13:45:20

SpringBoot核心的相关文章

SpringBoot 核心配置

1. 入口类和 @SpringBootApplication Spring Boot的项目一般都会有*Application的入口类,入口类中会有main方法,这是一个标准的Java应用程序的入口方法. @SpringBootApplication注解是Spring Boot的核心注解,它其实是一个组合注解: 该注解主要组合了一下注解: 1. @SpringBootConfiguration:这是 SpringBoot 项目的配置注解,这也是一个组合注解: 在 SpringBoot 项目中推荐使

SpringBoot核心注解应用

1.今日大纲 了解Spring的发展 掌握Spring的java配置方式 学习Spring Boot 使用Spring Boot来改造购物车系统 2.Spring的发展 Spring1.x 时代 在Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在java类和xml配置文件中切换. Spring2.x时代 随着JDK 1.5带来的注解支持,Spring2.x可以使用注解对Bean进行申明和注入,大大的减少了xml配置文

springboot核心注解

SpringBoot的核心注解是@SpringBootApplication由以下3个注解组成:@SpringBootConfiguration:它组合了Configuration注解实现了 配置文件的功能@EnableAutoConfiguration:打开自动配置功能,也可以关闭某个指定的自动配置选项@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class }):关闭数据源自动配置功能.@ComponentSca

SpringBoot核心原理之自动配置

从@SpringBootApplication注解入手 为了揭开SpringBoot的奥秘,我们直接从Annotation入手,看看@SpringBootApplication里面,做了什么?打开@SpringBootApplication这个注解,可以看到它实际上是一个复合注解 1 @Target(ElementType.TYPE) 3 @Retention(RetentionPolicy.RUNTIME) 5 @Documented 7 @Inherited 9 @SpringBootCon

【springboot】之starter pom

SpringBoot针对不同业务提供了不同的starter pom,根据springboot版本不同可能有差异. spring-boot-starter springboot核心starter ,包括自动配置,日志,yaml配置文件的支持  spring-boot-starter-actuator 准生产特性,用来监控和管理应用 spring-boot-starter-remote-shell 提供基于ssh协议的监控和管理 spring-boot-starter-amqp 使用spring-r

springboot学习笔记(一)

一.什么是SpringBoot 描述:Spring Boot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目.大多数SpringBoot项目只需要很少的配置文件.二.SpringBoot核心功能 1.独立运行Spring项目 Spring boot 可以以jar包形式独立运行,运行一个Spring Boot项目只需要通过java -jar xx.jar来运行. 2.内嵌servlet容器 Spring Boot可以选择内嵌Tomcat.jetty或者Undertow,

SpringBoot启动流程

SpringBoot核心启动类的SpringApplication.从SpringApplication.run()开始先创建SpringApplication对象,并调用该对象的run方法. public static ConfigurableApplicationContext run(Object source, String... args) { return run(new Object[] { source }, args); } public static Configurable

搭建springboot环境

1.前戏准备: SpringBoot核心jar包:这里直接从Spring官网下载了1.5.9版本. jdk:jdk1.8.0_45. maven项目管理工具:3.5版本. tomcat:8.5版本. 本地仓库:注意settings.xml里面的设置"<localRepository>E:/SpringBoot/repository</localRepository>"红色部分代表仓库的位置. eclipse:jee-neon3版本. 2.环境设置 1)将jdk以

我的SpringBoot实践笔记

Spring Boot四大核心: 自动配置:针对Spring常见的应用程序,能自动提供相关的配置 起步依赖:功能--->引入需要的库    组装机和品牌机的区别 命令行界面:代码--->应用程序 Actuator:??? Spring Initializr使用: 1.http://start.spring.io/ 2.Idea Spring Initailzr 3.命令行生成 ... spring-boot-starter-parent:Spring Boot父级依赖 提供Maven默认依赖