SpringBoot微服务框架二、SpringBoot微服务框架的特点3、SpringBoot应用场景4、SpringBoot的初次应用5、Springboot启动类的main方法有什么作用?6.SpringBoot的场景启动器7.@SpringBootApplication探索8.SpringBoot的配置文件如何配置?一、SpringBoot概述SpringBoot是一个基于Spring的微服务框架。也就是说,Spring中的所有功能都可以在SpringBoot中实现。SpringBoot简化了Spring的开发。微服务与单体架构的区别单体架构的所有模块耦合在一起,代码量大,维护困难。微服务的每个模块相当于一个单独的项目,代码量明显减少,出问题也相对容易说的好。单体架构的所有模块共享同一个数据库,存储方式比较简单。微服务的各个模块可以使用不同的存储方式(比如有的使用redis,有的使用mysql等),数据库也是一个单独的模块对应自己的数据库。单体架构的所有模块开发使用的技术是相同的,而微服务的每个模块可以使用不同的开发技术,开发模式更加灵活。2、SpringBoot微服务框架的特点SpringBoot简化了Spring的开发。嵌入式Tomcat无需部署WAR文件,部署简单。简化Maven配置,提供多种场景启动器,让配置变得简单。自动配置Spring,提供默认配置,配置简单提供生产就绪功能,如指标、健康检查、外部配置等,让监控变得简单3.SpringBoot应用场景Spring可应用于javaWeb应用微服务4.SpringBoot应用需求:在浏览器端发送一个hello请求,服务器响应给浏览器一个字符串HelloWorld在Idea中创建一个Maven项目导入SpringBoot相关依赖编写主程序启动SpringBoot应用,编写SpringBoot启动类...importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;//这个类是SpringBoot的启动类@SpringBootApplicationpublicclassSpringBootApplicationMain{publicstaticvoidmain(String[]args){//固定写SpringApplication.run(SpringBootApplicationMain.class,args);}}···编写controller并运行emain方法···@ControllerpublicclassHelloController{@RequestMapping("/hello")@ResponseBodypublicStringhello(){return"HelloWorld";}}···与Spring开发的区别在于没有配置文件,没有部署tomcat,没有大量的Maven依赖。5、Springboot启动类的main方法有什么作用?SpringBoot启动时,是通过main方法启动的。它主要做了两件事:1.初始化Spring容器2.启动tomcat运行项目SpringBoot在生产环境的部署引入了一个打包jar包的插件,将项目打包成jar包可以将项目打包成可执行的jar包,简化了SpringBoot应用的部署。首先导入以下插件:···org.springframework.bootspring-boot-maven-plugin···直接运行这个jarPackage6.SpringBoot的SceneEnabler什么是SceneEnabler?效果如何?spring-boot-starter的作用:SpringBoot的核心启动器,包括自动配置、日志和YAML查看父级启动器SpringBoot读取resources下的三个配置文件,即类路径下的application开始时。Parent的状态继承自dependencies这包括Spring的依赖,还有很多框架和工具的依赖。这些依赖项的版本已经定义。版本由SpringBoot的版本决定。这些依赖项的版本必须兼容。查看web的spring-web和spring-mvcstartertomcat的依赖关系。7、@SpringBootApplication探究@SpringBootApplication注解的作用:@SpringBootApplication是SpringBoot的主要配置类。对于这个注解配置的类,Springboot会运行main方法来启动SpringBoot应用@SpringBootApplication注解是由三个主要注解组成的组合注解。@SpringBootConfiguration注释包含@Configuration注释。修改的类是配置类。引导类本身就是一个配置类。@SpringBootApplicationpublicclassSpringBootApplicationMain{publicstaticvoidmain(String[]args){//初始化Spring的IOC容器ApplicationContextcontext=SpringApplication.run(SpringBootApplicationMain.class,args);Personperson=(Person)context.getBean(Person.class);System.out.println(person);}@BeanpublicPersongetPerson(){returnnewPerson();}···或者单独卸载一个类···//定义为配置类//Spring容器初始化时,它会自动执行所有配置类被@Bean修饰的方法//在IOC容器中注册这些方法返回的对象@ConfigurationpublicclassMyConfig{@Bean("person")publicPersongetPerson(){returnnewPerson();}}···@ComponentScan注解:扫描当前类(引导类)所在的包和子包下包含@Component注解的类,注册为Bean,相当于类的HelloControl在第一个应用程序的Spring配置文件中配置的ComponentScannerbeanler类必须在boot类或其子包的包中@EnableAutoConfiguration注解:开启Springboot的自动配置功能,在每个场景启动时加载自动配置类,在容器中注册配置类中的bean通过properties或者yml配置文件修改容器中bean的属性,达到修改默认配置的目的8.如何配置SpringBoot配置文件?SpringBoot配置文件的作用:修改SpringBoot自动配置的默认值SpringBoot配置文件分为两种:application.properties配置application.yml配置是使用特定的YML语法编写的有兴趣的可以看一下文章可微信搜索公众号:打码的老贾收到相应信息