SpringBoot自动装配
微服务:
一个大的项目可以由多个业务模块构成(微服务),每一个业务模块可以作为一个项目,每个项目直接通过HTTP接口进行调用。spring boot可以快速开发微服务,即每一个模块。
springboot的好处:
- 简化J2EE的开发;
- 整个spring技术栈的整合(整合springMVC和spring);
- 整个J2EE技术的整合(整合Redis和mybatis等)
springboot的目录结构:resources
- static:静态资源(js,css,图片,音频,视频)
- templates:模板文件:freemarker,thymeleaf等,默认不支持jsp;
- application.properties: 配置文件
springboot内置了Tomcat,并且不需要打成war再执行,可以在application.properties对端口号等服务端信息进行配置。springboot将各个应用/三方框架设置成了一个个“场景”starter,选完之后,springboot就会将该场景所需要的所有依赖自动注入。
@SpringBootApplication
springboot的主配置类,该注解包含:
@SpringBootConfiguration,包含@Configuration,表示配置类:
- 该注解表示该类是一个配置类;
加了@Configuration注解的类,会自动纳入spring容器
@EnableAutoConfiguration:该注解使springboot可以自动配置,它有一个注解@AutoConfigurationPackage,里面有个类:Registrar,有个方法registerBeanDefinitions,可以找到@SpringBootConfiguration所在类的包名,然后将该包以及所有的子包中的类纳入spring容器。
之前的spring项目写法是:使用@ComponentScan扫描器扫描指定包下面的类,然后纳入spring容器。@Override
public void registerBeanDefinitions(AnnotationMetadata metadata,
BeanDefinitionRegistry registry) {
register(registry, new PackageImport(metadata).getPackageName());
}
springboot在启动时,会根据META-INF/spring.factories找到相应的三方依赖,并将这些依赖引入本项目。spring-boot-autoconfigure:2.0.2.RELEASE22
还没有评论,来说两句吧...