1.微服务:一个项目 可以由多个 小型服务构成(微服务)
2.spring boot可以快速开发 微服务模块
a.简化j2ee开发
b.整个spring技术栈的整合 (整合springmvc spring)
c.整个j2ee技术的整合 (整合mybatis redis)
准备:
jdk:
JAVA_HOME: jdk根目录
path:jdk根目录\bin
classpath:jdk根目录\lib
maven:
MAVEN_HOME: maven根目录
path:maven根目录\bin
配置Maven本地仓库:maven根目录/conf/setting.xml F:\xx\Maven\repo
在IDE中配置mvn:
window->preference->搜maven ,installations/usersettings
spring boot开发工具
Eclipse(STS插件) -》 STS
IntelliJ IDEA
目录结构resources:
static:静态资源(js css 图片 音频 视频)
templates:模板文件 (模板引擎freemarker ,thymeleaf;默认不支持jsp)
application.properties: 配置文件
spring boot内置了tomcat,并且不需要打成war再执行。
可以在application.properties对端口号等服务端信息进行配置
spring boot将各个应用/三方框架 设置成了一个个“场景” stater,以后要用哪个,只需要引入哪个场景即可
选完之后,spring boot就会将 该场景所需要的所有依赖 自动注入。例如 选择“web”,spring boot就会将web相关的依赖(tomcat json) 全部引入本项目
@SpringBootApplication:spring boot的主配置类
该注解包含:
@SpringBootConfiguration: 包含@Configuration,表示“配置类” : 1.该类是一个配置类
2.加了@Configuration注解的类,会自动纳入Spring 容器 (@Component)
@Configuration
public class A//表示A是一个 用于 配置的类
{
}
@EnableAutoConfiguration:使spring boot可以自动配置 : 可以找到@SpringBootApplication所在类的包,作用:就会将该包及所有的子包 全部纳入spring容器
spring boot在启动时,会根据META-INF/spring.factories找到相应的三方依赖,并将这些依赖引入本项目
总结:
编写项目时,一般会 对自己写的代码 以及 三方依赖 进行配置。但是spring boot可以自动进行配置
a:自己写的代码,spring boot通过@SpringBootConfiguration自动帮我们配置;
b:三方依赖 通过spring-boot-autoconfigure-2.0.3RELEASE.jar中
的META-INF/spring.factories进行声明,然后通过@EnableAutoConfiguration开启使用即可
spring-boot-autoconfigure-2.0.3RELEASE.jar包中 包含了 J2EE整合体系中 需要的依赖。
c.如何自动装配:
研究org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration,\
通过观察该源码 发现:
@Configuration:标识此类是一个配置类 、将此类纳入springioc容器
@EnableConfigurationProperties(HttpEncodingProperties.class): 通过HttpEncodingProperties将编码设置为了UTF_8(即自动装配为UTF_8,如何修改该编码:通过改HttpEncodingProperties的predfix+属性名 进行修改【配置文件中,yml/properties】)
即:该注解给了默认编码utf8,并且提供了predfix+属性名 的方式 供我们修改编码。
@ConditionalOnProperty(prefix = "spring.http.encoding", value = "enabled", matchIfMissing = true)
当属性满足要求时, 此条件成立 : 要求 如果没有配置spring.http.encoding.enabled=xxx,则成立。
总结:1每一个XxAutoConfiguration 都有很多条件@ConditionalOnXxx,当这些条件都满足时,
则此配