最后
看完美团、字节、腾讯这三家的面试问题,是不是感觉问的特别多,可能咱们又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。
开篇有提及我可是足足背下了1000道题目,多少还是有点用的呢,我看了下,上面这些问题大部分都能从我背的题里找到的,所以今天给大家分享一下互联网工程师必备的面试1000题。
注意不论是我说的互联网面试1000题,还是后面提及的算法与数据结构、设计模式以及更多的Java学习笔记等,皆可分享给各位朋友
互联网工程师必备的面试1000题
而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题。
server:
port: 8088
servlet:
context-path: /oa
3. 创建一个Controller
为了验证我们的项目是否配置完毕了,这里 壹哥 简单创建了一个Controller接口,各位随意创建即可。
4. 测试效果
接下来我们就把项目启动起来,我们在控制台可以看到如下效果,会发现我们项目的根路径此时已经变成了”/oa“,而不再是之前默认的”/“。
我们打开浏览器,就可以利用http://localhost:8088/oa/hi这个地址来访问我们的接口了。
如果你想进行跟多的配置,请参考如下链接。
更多配置信息
二. 日志配置
1. 日志功能配置
除了可以自定义Web端口与项目根路径之外,SpringBoot中还运行我们灵活的进行日志的开关设置。在Spring Boot中,对各种常用的日志框架都做了支持,我们可以通过配置文件来修改默认的日志开关配置。默认情况下,Spring Boot 使用 Logback 作为日志框架。
接下来我们在application.properties文件中,设置日志文件的存储位置,以及日志的级别,如下所示:
logging.file.path=../logs/spring-boot-hello.log
logging.level.org.springframework.web=DEBUG
如果你使用的是application.yml配置文件,可以是如下写法:
logging:
file:
path:../logs/spring-boot-hello.log
level.org.springframework.web: DEBUG
完整的代码格式如下图所示,各位可以参考。
2. 启动测试
等我们把项目重新启动起来,找到自己项目日志所设置的盘符,就可以看到有一个logs日志目录,存放了本项目的日志信息,如下图所示。
这样,我们的日志功能就轻松的实现了。
三. 自动配置再分析
有的小伙伴知道,在之前SSM阶段,要想实现以上这些配置,是挺麻烦的,而在SpringBoot中则很容易,这是怎么做到的呢?其实这都归功于SpringBoot中的自动配置功能,这里 壹哥 对此做一个简单分析。
1. 自动配置
在Spring Boot中,带有一个很牛逼的自动配置(auto-configuration)功能,这里我先简单提一下,后面我再对这个原理进行深入的分析。
自动配置会尝试根据我们添加的jar依赖包,自动的配置Spring应用。比如在classpath下存在HSQLDB,并且我们没有手动配置任何数据库连接的beans,那么Spring Boot将自动配置一个内存型(in-memory)的数据库。
2. 自动配置的非侵入性
SpringBoot的自动配置(Auto-configuration)功能是非侵入性的,就是任何时候,你都可以定义自己的配置类来替换自动配置的特定部分。例如,如果你添加自己的DataSource bean,默认的内嵌数据库支持将不被考虑。
3. 自动配置的实现方式
实现自动配置有两种可选方式,分别是将@EnableAutoConfiguration或@SpringBootApplication注解添加到@Configuration类上。
注意我们只应该添加一个自动配置的注解,[@EnableAutoConfiguration或者@SpringBootApplication,通常建议将它添加到主配置类(primary](/EnableAutoConfiguration或者@SpringBootApplication,通常建议将它添加到主配置类(primary) @Configuration)上。
四. 关闭特定的自动配置
当然,如果你非要特立独行,就想和别人不一样,就想给自己找麻烦,那也可以把自动配置功能给关闭掉,这时我们可以使用@EnableAutoConfiguration或者@SpringBootApplication注解的exclude属性禁用它们。
我们以关闭数据源的自动配置为例,只需要排除掉数据源配置,就不会再自动配置数据源了。
去除数据源自动配置代码,如下图所示:
另外,如果该类(DataSourceAutoConfiguration)不在classpath中,你可以使用该注解的excludeName属性,并指定全限定名来达到相同效果。
最后,你也可以通过spring.autoconfigure.exclude属性exclude多个自动配置项(一个自动配置项集合)。
**注意:**通过注解级别或exclude属性都可以定义排除项!
需要更多教程,微信扫码即可
👆👆👆
别忘了扫码领资料哦【高清Java学习路线图】
总结
阿里伤透我心,疯狂复习刷题,终于喜提offer 哈哈~好啦,不闲扯了
1、JAVA面试核心知识整理(PDF):包含JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算共30个章节。
2、Redis学习笔记及学习思维脑图
3、数据面试必备20题+数据库性能优化的21个最佳实践
开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**