微服篇
4.1SpringBoot
1.什么是SpringBoot
答:Spring Boot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目。大多数SpringBoot项目只需要很少的配置文件。
2、SpringBoot核心功能
答: ①独立运行Spring项目:Spring boot 可以以jar包形式独立运行,运行一个Spring Boot项目只需要通过java -jar xx.jar来运行。
②内嵌servlet容器:Spring Boot可以选择内嵌Tomcat、jetty或者Undertow,这样我们无须以war包形式部署项目。
③提供starter简化Maven配置: spring提供了一系列的start pom来简化Maven的依赖加载,例如,当你使用了spring-boot-starter-web,会自动加入如图5-1所示的依赖包。
④自动装配Spring
SpringBoot会根据在类路径中的jar包,类、为jar包里面的类自动配置Bean,这样会极大地减少我们要使用的配置。当然,SpringBoot只考虑大多数的开发场景,并不是所有的场景,若在实际开发中我们需要配置Bean,而SpringBoot灭有提供支持,则可以自定义自动配置。
⑤准生产的应用监控:SpringBoot提供基于http ssh telnet对运行时的项目进行监控。
⑥无代码生产和xml配置
SpringBoot不是借助与代码生成来实现的,而是通过条件注解来实现的,这是Spring4.x提供的新特性。
3、SpringBoot优缺点
答:优点:
1).快速构建项目。
2).对主流开发框架的无配置集成。
3)项目可独立运行,无须外部依赖Servlet容器。
4).提供运行时的应用监控。
5).极大的提高了开发、部署效率。
6).与云计算的天然集成。
缺点:如果你不认同spring框架,也许这就是缺点。
4、SpringBoot特性
答:①创建独立的Spring项目
②内置Tomcat和Jetty容器
③提供一个starter POMs来简化Maven配置
④提供了一系列大型项目中常见的非功能性特性,如安全、指标,健康检测、外部配置等
⑤完全没有代码生成和xml配置文件
5、SpringBoot CLI
答:SpringBoot CLI 是SpringBoot提供的控制台命令工具。
6、SpringBoot maven 构建项目
答:spring-boot-starter-parent:是一个特殊Start,它用来提供相关的Maven依赖项,使用它之后,常用的包依赖可以省去version标签。
9、SpringBoot几个常用的注解
答:1)@RestController和@Controller指定一个类,作为控制器的注解
2)@RequestMapping方法级别的映射注解,这一个用过Spring MVC的小伙伴相信都很熟悉
3)@EnableAutoConfiguration和@SpringBootApplication是类级别的注解,根据maven依赖的jar来自动猜测完成正确的spring的对应配置,只要引入了spring-boot-starter-web的依赖,默认会自动配置Spring MVC和tomcat容器
4)@Configuration类级别的注解,一般这个注解,我们用来标识main方法所在的类,完成元数据bean的初始化。
5)@ComponentScan类级别的注解,自动扫描加载所有的Spring组件包括Bean注入,一般用在main方法所在的类上
6)@ImportResource类级别注解,当我们必须使用一个xml的配置时,使用@ImportResource和@Configuration来标识这个文件资源的类。
7)@Autowired注解,一般结合@ComponentScan注解,来自动注入一个Service或Dao级别的Bean
8)@Component类级别注解,用来标识一个组件,比如我自定了一个filter,则需要此注解标识之后,Spring Boot才会正确识别。
10.Springboot用过没,跟我说说,他的特点?
答: Springboot是从无数企业实战开发中总结出来的一个更加精炼的框架,使得开发更加简单,能使用寥寥数行代码,完成一系列任务。
1)Springboot解决那些问题
a)编码更简单
①Spring框架由于超重量级的 XML,annotation配置,使得系统变得很笨重,难以维护
②Springboot采用约点大于配置的方法,直接引入依赖,即可实现代码的开发
b)配置更简单
①Xml文件使用 javaConfig代替,XML中 bean的创建,使用@bean代替后可以直接注入。
②配置文件变少很多,就是 application.yml
c)部署更简单
① 一键启动,一键解压; ②不需要应用服务器:Tomcat(X)weblogic(x);
③降低对运行环境基本要求:部署环境只需要有JDK即可,默认内置tomcat服务器
d)监控更简单
Spring-boot-start-actuator: 可以查看属性配置;线程工作状态;环境变量;
JVM性能监控
4.2.springCloud(略)
全部评论