1. Spring框架目前的版本是5.1,支持JDK8, 9+以上。
2. Spring框架最核心的部分是依赖注入和配置模型,除此之外还有信息传送,数据持久化,对web的支持。
3. Spring是为了解决J2EE的复杂度而出现的产物。并没有完全采用EE的所有规定,只是选用了其中几个。Spring是Java EE的补充。Java EE相当于是接口(interface),然后有软件实现这些接口,例如Tomcat。但是Spring不是完全基于这些接口,而是产生了自己的生态。

4. Spring制造的产物原来需要部署到应用服务器才能工作;之后有了Spring Boot(约定大于配置),只需要部署到servlet容器就可以工作,可以是实际服务器,也可以是云服务器;再到现在不需要部署到servlet容器也可以工作,例如部署到netty服务器。
5. Spring的设计思想是尽量延迟做实现决定,先做抽象的设计(即interfaces),知道项目要进行之后再决定用什么具体的client;并且允许多种client实现。
6. Ant/Maven/Gradle的对比,这些都是编译工具,具体可以阅读。
- Ant是最原始的,最自由的,对项目结构没有要求,类似于make;使用的是xml文件(即build.xml),可以容纳各种xml,没有编码约束规范,造成大xml文件会阅读困难,同时也没有依赖管理。
- Maven是Ant的进步版本,Convention over configuration。有了编码约束,少了自由。还是使用xml文件,即pom.xml。
- Gradle用的不是xml,文件名字叫做build.gradle,是基于Groovy语言,是一种domain specification language。相对于来说更加Flexible。
总的来说还是推荐先用Maven。
7. SOA和微服务有什么区别?
答:SOA更侧重于ESB(企业服务总线),其实相当于ZK的角色,但是比ZK多了数据格式的转发/转换。相比之下,微服务可以直接调用相互的数据,直接沟通。
8. 实例是什么?
答:当开启一个新服务在某个机器上,这个新服务就叫做一个实例。
9. Eureka核心知识包括什么?
- 启动服务如何注册到Eureka
- 服务器如何存储信息
- 消费者如何根据服务名发现服务实例
- 如何构建高可用Eureka集群
- 心跳和服务剔除机制是什么
-
Eureka自我保护模式是什么
Spring框架
10. Spring Boot的优点是什么?

11. Spring Boot内嵌了什么服务器?
答:Tomcat,Jetty和Undertow等。
12. Spring Boot如何通过maven打包?


13. @SpringBootApplication是什么?

14. 如何通过非XML的方式配置Bean?


15. 如何开发自己的spring boot starter?

16. 什么是JMX?
答: Java Management Extension,对jvm做监控。

17. 如何做端点配置?
答:记得设置endpoint.health.show-details






18. spring boot cli有什么作用?
- 用命令行可以运行guava/groovy(安卓语言)代码(类java代码),进行快速开发。
- 可以快速创建新的spring boot项目,包含依赖等。
网友评论