一、什么是SprigBoot,有什么用?
它是一个微服务:一个项目 可以由多个 小型服务构成(微服务)
作用:spring boot可以快速开发 微服务模块
a.简化j2ee开发
b.整个spring技术栈的整合(整合springmvc spring)
c.整个j2ee技术的整合(整合mybatis redis)
二、SpringBoot目录结构以及作用:
在这里我创建了一个maven类型的springboot
目录结构
resources:
static:静态资源(js css 图片 音频 视频)
templates:模板文件(模版引擎freemarker ,thymeleaf;默认不支持jsp)
application.properties: 配置文件
三、服务类注解的作用:
package org.skh.spring.HelloSpringBoot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HelloSpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(HelloSpringBootApplication.class, args);
}
}
当把它作为javaapplication运行起来之后,就相当于开启了服务器,也就可以在浏览器通过localhost+port访问你的requestMapping以及其他静态资源。这这个类里面注解@SpringBootApplication可谓是至关重要。
@SpringBootApplication又包含了多个注解,我说一下其中尤为重要的两个:
i:@SpringBootConfiguration:
他又包含了一个注解叫做@Configuration,它的作用就是将有@Configuration注解的类加入Spring容器,这里就不解释什么是Spring容器了。同时也声明了这个类是一个配置类。
ii:@EnableAutoConfiguration:
1.我们在使用SpringMvc时知道我们需要把有注解的包进行扫描,比如Controller,不过需要我们进行硬编码配置,这个注解的作用就是将@SpringBootApplication注解所在类的包以及子包 加入扫描。这属于对我们手写的代码进行配置。
2.对第三方依赖(jar)进行配置:
有了该注解后,spring boot在启动时,会根据META-INF/spring.factories找到相应的三方依赖,并将这些依赖引入本项目
总结:
编写项目时,一般会 对自己写的代码 以及 三方依赖 进行配置。但是spring boot可以自动进行配置:
a:自己写的代码,spring boot通过@SPringBootApplication中的@SpringBootConfiguration自动帮我们配置;
b. 三方依赖 通过spring-boot-autoconfigure-2.0.3.RELEASE.jar中
的META-INF/spring.factories进行声明,然后通过@SpringBootApplication中的@EnableAutoConfiguration开启使用。
tips:spring-boot-autoconfigure-2.0.3.RELEASE.jar包中 包含了 J2EE整合体系中 需要的依赖。