1、SpringBoot有哪些优点?
- 快速创建独立运行的Spring项目以及与主流框架集成
- 使用嵌入式的Servlet容器,应用无需打成WAR包
- starters自动依赖与版本控制
- 大量的自动配置,简化开发,也可修改默认值
- 无需配置XML,无代码生成,开箱即用
- 准生产环境的运行时应用监控
- 与云计算的天然集成
2、SpringBoot为什么能直接运行?
SpringBoot内置嵌入式的Servlet容器,且有大量的自动配置简化开发,能做到开箱即用,所以可以直接运行
3、列一下常见的git命令(你都用过哪些命令)?或具体到某个命令的用法,如:怎么从远程仓库把代码取下来?
git branch 查看本地所有分支
git status 查看当前状态
git commit 提交
git branch -a 查看所有的分支
git branch -r 查看远程所有分支
git commit -am "init" 提交并且加注释
git remote add origin git@192.168.1.119:ndshow
git push origin master 将文件给推到服务器上
git remote show origin 显示远程库origin里的资源
git push origin master:hb-dev 将本地库与服务器上的库进行关联
git checkout --track origin/dev 切换到远程dev分支
git branch -D master develop 删除本地库develop
git checkout -b dev 建立一个新的本地分支dev
git merge origin/dev 将分支dev与当前分支进行合并
git checkout dev 切换到本地dev分支
git remote show 查看远程库
4、SVN和Git用起来有什么区别,你推荐哪一个?
1. GIT是分布式的,SVN不是
2. GIT把内容按元数据方式存储,而SVN是按文件
3. GIT分支和SVN的分支不同
4. GIT没有一个全局的版本号,而SVN有
5. GIT的内容完整性要优于SVN
6. 综上所述,我更推荐使用Git来管理
5、logback日志级别都有哪些?
默认由低到高 trace < debug < info < warn < error,可以调整输出的日志级别,日志就只会在这个级别和更高级别生效。SpringBoot默认给我们使用的是info级别的,没有指定级别就使用默认级别的。
6、slf4j, logback, log4j是什么关系?
SpringBoot底层使用slf4j+logback的方式进行日志记录,如果使用其他的日志,SpringBoot会把其他的日志实现底层都替换为slf4j。log4j和logback是同一个作者写的日志,不过logback实现了slf4j,slf4j本身是一个日志门面,并不包含具体的实现
7、列举出常见的http请求方式
GET、POST、DELETE、PUT等等
8、怎么读取自定义的配置项?用什么注解?怎么设置默认值?
1. 如果我们需要读取单个自定义配置项,可以使用@Value注解 。例@Value("${test.hello}"),@Value注解支持SpEL。@Value("${test.hello:TEST}"),加上冒号可以设置默认值
2. 如果我们是写了一个JavaBean来和配置文件进行映射,这时候就需要使用到@ConfigurationProperties注解来绑定配置项,它支持绑定多个属性配置项,支持松散绑定,还支持复杂类型的封装
9、bootstrap和application配置有什么区别?
Spring Cloud 构建于 Spring Boot 之上,在 Spring Boot 中有两种上下文,一种是 bootstrap, 另外一种是 application, bootstrap 是应用程序的父上下文,也就是说 bootstrap 加载优先于 applicaton。bootstrap 主要用于从额外的资源来加载配置信息,还可以在本地外部配置文件中解密属性。这两个上下文共用一个环境,它是任何Spring应用程序的外部属性的来源。bootstrap 里面的属性会优先加载,它们默认也不能被本地相同配置覆盖。
10、为什么引入SpringBoot内置依赖不需要加版本号?
点开pom.xml中的spring-boot-starter-parent父项目就会发现,里面就指定了内置依赖的版本号,所以我们在导入SpringBoot内置依赖时不需要指定版本号,因为父项目已经帮我们指定了版本号。
登录后可查看更多问答,登录/注册