SpringBoot微服务
一,Springboot介绍
Springboot介绍
SpringBoot 是一个快速开发的框架, 封装了Maven常用依赖、能够快速的整合第三方框架;简化XML配置,全部采用注解形式,内置Tomcat、Jetty、Undertow,帮助开发者能够实现快速开发,SpringBoot的Web组件 默认集成的是SpringMVC框架。
SpringBoot原理介绍:
- 能够帮助开发者实现快速整合第三方框架 (原理:Maven依赖封装)
- 去除xml配置 完全采用注解化 (原理:Spring体系中内置注解方式)
- 无需外部Tomcat、内部实现服务器(原理:Java语言支持创建Tomcat服务器)
SpringBoot和SpringMVC区别
SpringBoot 是一个快速开发的框架,能够快速的整合第三方框架,简化XML配置,全部采用注解形式,内置Tomcat容器,帮助开发者能够实现快速开发,SpringBoot的Web组件 默认集成的是SpringMVC框架。
SpringMVC是控制层。
SpringBoot和SpringCloud区别
SpringBoot 是一个快速开发的框架,能够快速的整合第三方框架,简化XML配置,全部采用注解形式,内置Tomcat容器,帮助开发者能够实现快速开发,SpringBoot的Web组件 默认集成的是SpringMVC框架。
SpringMVC是控制层。
SpringCloud依赖与SpringBoot组件,使用SpringMVC编写Http协议接口,同时SpringCloud是一套完整的微服务解决框架。
使用注解的优势:
1.采用纯java代码,不在需要配置繁杂的xml文件
2.在配置中也可享受面向对象带来的好处
3.类型安全对重构可以提供良好的支持
4.减少复杂配置文件的同时亦能享受到springIoC容器提供的功能
SpringBoot核心注解
重要注解:
1.@RestController
在上加上RestController 表示修饰该Controller所有的方法返回JSON格式,直接可以编写
Restful接口
2.@EnableAutoConfiguration
注解:作用在于让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置
这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。
3. SpringApplication.run(HelloController.class, args);
标识为启动类
SpringBoot有几种启动方式
1、SpringBoot启动方式1
Springboot默认端口号为8080
@RestController
@EnableAutoConfiguration
public class HelloController {
@RequestMapping("/hello")
public String index() {
return "Hello World";
}
public static void main(String[] args) {
SpringApplication.run(HelloController.class, args);
}
}
启动主程序,打开浏览器访问http://localhost:8080/index,可以看到页面输出Hello World
2.SpringBoot启动方式2
@ComponentScan(basePackages = "com.mayikt.controller")---控制器扫包范围
@ComponentScan(basePackages = "com.mayikt.controller")
@EnableAutoConfiguration
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
3,SpringBoot启动方式3
@SpringBootApplication
@SpringBootApplication 被 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解所修饰,换言之 Springboot 提供了统一的注解来替代以上三个注解
扫包范围:在启动类上加上@SpringBootApplication注解,当前包下或者子包下所有的类都可以扫到。
SpringBoot好处
- 简化配置,不需要编写太多的xml配置文件;
- 基于Spring构建,使开发者快速入门,门槛很低;
- SpringBoot可以创建独立运行的应用而不需要依赖于容器;
- 内置tomcat服务器,不需要打包成war包,可以直接放到tomcat中运行;
- 提供maven极简配置,以及可视化的相关监控功能,比如性能监控,应用的健康程度等;
- 为微服务SpringCloud奠定了基础,使得微服务的构建变得简单;
- Spring可以整合很多各式各样的框架,并能很好的集成;
- 活跃的社区与论坛,以及丰富的开发文档;
Springboot缺点
- 依赖太多,一个spring boot项目就有很多
- 缺少服务的注册和发现等解决方案
- 缺少监控集成方案,安全管理方案
- 版本迭代速度很快,一些模块改动很大。
- 由于不用自己做配置,报错时很难定位。
- 网上现成的解决方案比较少。