什么是Sping Boot
Spring Boot 就是一种用于简化开发的,将之前的需要配置的文件,进行代替,Spring Boot 是一个很容易就可以创建并且运行独立运行的(因为其内部嵌入了Servlet容器和Tomcat(内置的Tomcat是不支持访问jsp页面的,需要将内置的Tomcat移除掉,加入新的Tomcat))。
Spring Boot 的入门:
设置Spring boot 的parent -- 必须要设置的配置
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.0.RELEASE</version>
</parent>
说明:
导入该依赖之后,会导入平时开发中常用的jar包,Spring Boot 的项目是必须要设置Spring Boot 的Parent的,该Parent中包含了大量的默认的配置,大大的简化了我么的开发
Spring的核心的注解、
@SpringBootApplication注解是一个组合注解,因为该注解上还包含了其他的注解
Spring Boot的项目一般都会有Application的入口。入口中都会有main方法,
SpringBootApplication(exclude=RedisAutoConfiguration.class)// 表示当使用到该类的时候才会将该对象进行初始化
@SpringBootConfiguraion :表示将Spring Boot项目配置注解(组合类)
包含@Configuration的注解 -- 声明当前的java为一个配置文件
在项目中通常使用@SpringBootConfiguration来代替@Configuration
@EnableAutoConfiguration:表示会自动加载Spring Boot 所依赖的jar包
@Configuration:表示会默认扫描@SpringBootApplication所在的同级目录以及下面的子目录
全局的配置文件
Spring Boot 项目会使用一个全局的配置文件,application.properties或者是application.yml两者的区别在于application.propertis需要些全路径,而application.yml会简化配置的编写。在resource目录下或者类路径下的/config下,一般我们在resource下进行配置
Stater pom
Spring Boot 为我们提供了简化开发的大多数场景的Starter pom 只要使用了应用场景所需要的Starter pom ,相关的技术配置就会消除,就会使用到Spring Boot为我们自动配置的Bean
xml的配置文件
Spring boot 提倡零配置,既没有xml的配置,但是在实际的场景中还是需要用到xml配置的,这个时候我们可以使用 Spring 提供的@importResource来加载xml的配置文件
@ImpertResource({"classpath:som-context.xml","classpath:another-context.xml"})
类加载到Sping的容器中
Log日志:
Spring Boot 对各种日志框架都做了支持,我们可以通过配置来修改日志的配置
设置日志的级别:
logging.level.org.springframework = DEBUG
Spring Boot自动配置的原理:
该配置文件中是spring boot 提供的一些默认的类,所以在类的加载的时候,就会对所有的默认提供的类进行对象的初始化
Spring - boot - starter - web : Spring MVC 的相关的依赖
@MapperScan(): 获取指定的mapper目录下的文件
@EnableDiscoveryClient:用于发现服务的,标准的使用是,用到那个服务,使用那个发现服务的注解,包含eureka、consul、zookeeper等等,默认的会加载所有的服务
@EnableFeignClients:开启远程服务的注入
在使用远程的时候,需要在启动类上加上@EnableFeignClients并且在接口上加上@FeignClient的注解,从而完成Spring Cloud 的跨服务的调用