**Spring boot **的主要优点:
为所有spring开发者更快的入门
开箱即用,提供各种默认配置来简化项目配置
内嵌式容器简化web项目
没有冗余代码生成和xml配置的要求
MVC MVVM 微服务架构
微服务是一种架构可以把原先是一个整体的模块进行拆分成小模块去进行操作,其不会对其整体模块进行修改。只需要改动相应模块就可以进行,
好处:
节省调用资源
每个功能元素的服务都是一个可替换的、可独立升级的软件代码。
在进行springboot项目中可以在application.properties中对项目的端口号进行修改,就可以进行默认端口号的修改
pom.xml
spring-boot-dependencies:核心依赖在父工程中!
在写或引入一些springboot依赖的时候,不需要指定版本,就是因为在配置中已经包含了这些版本仓库
spring-boot-starter启动器
在使用官方的spring-boot-io源是需要用到
启动器:说白了就是springboot的启动场景;
比如: spring-boot-starter-web ,他将能够帮我们自动导入web环境所有的依赖!
springboot会将所有的功能场景,都变成一个个的启动器。
我们想要使用什么功能,就只需要找到对应的启动器就可以。
//其本身就是spring的一个组件
//@SpringBootApplication 标注这个类是一个springboot的应用
//程序的主入口
@SpringBootApplication
public class DemoApplication {
// 通过SpringApplication
public static void main(String[] args) {
// 将springboot应用启动起来
SpringApplication.run(DemoApplication.class, args);
}
}
核心注解
@SpringBootConfiguration -- springboot的配置
@Configuration: spring配置类
@Component:说明这也是一个spring的组件
@EnableAutoConfiguration -- 自动导入配置
@AutoConfigurationPackage:自动配置包
@Import({Registrar.class}):自动配置‘包配置’
springboot中的所有自动配置都是在启动的时候扫描并加载:spring.factories 所有的自动配置类都在这里边,但是不是全部都生效,要判断条件是否成立,只要导入对应的是strat,就有对应的启动器了,有了启动器,我们自动装配就会生效,然后就配置成功了。
springboot在启动时,从类路径下/META-INF/spring.factories获取指定的值;
将这些自动配置的类导入容器,自动配置就会生效,帮我们进行自动配置;
在以前的开发过程中需要自己去配置东西,现在springboot帮我们做了;
整合之前学的javaEE,解决方案和自动配置的东西都在spring-boot-autoconfigure-XXX.RELEASE.jar这个包里
它会将所有需要导入的组件,以类名的方式返回,这些组件就会被添加到容器里;
容器中也会存在非常多的xxxAutoConfiguration的文件,就是因为这些类的存在给容器中导入了该场景下所需要的所有组件,并自动配置,@Configuration,javaConfig!
有了自动配置类的出现,免去了我们手动去编写配置文件的工作了。
关于springboot的理解:
自动分配
run(): 推断应用的类型是普通类型的项目还是Web项目
查看并加载所有可用初始化器。设置在initializers属性中
找出所有的应用程序监听器,设置到listeners属性中
推断并设置main方法的定义类,找到运行的主类
这将全面接管springMVC的配置!!!!!
标签:启动器,springBoot,spring,配置,boot,自动,springboot From: https://www.cnblogs.com/yysskk/p/18066745