16、什么是Spring Cloud?
17、什么是Spring引导的执行器?
18、微服务架构如何进行解耦?
19、为什么需要域驱动设计(DDD)?
20、微服务之间是如何独立通讯的?
21、Spring 和 SpringBoot 有什么不同?
22、SpringBoot starter 作用在什么地方?
23、怎么禁用某些自动配置特性?
// 方案1,下面的代码段是使 DataSourceAutoConfiguration 无效:
@EnableAutoConfiguration(exclude = DataSourceAutoConfiguration.class)
public class MyConfiguration {}
// 方案2
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
public class MyConfiguration { }
// 方案3,// 在配置文件中配置一种通过配置文件yml或者properties,内设置
24、SpringBoot 的自动化配置
25、当 bean 存在的时候怎么置后执行自动配置?
为了当 bean 已存在的时候通知自动配置类置后执行,我们可以使用 @ConditionalOnMissingBean 注解。这个注解中最值得注意的属性是:
value:被检查的 beans 的类型name:被检查的 beans 的名字
当将 @Bean 修饰到方法时,目标类型默认为方法的返回类型:
@Configuration
public class CustomConfiguration {
@Bean
@ConditionalOnMissingBean
public CustomService service() { ... }
}
26、怎么使用 SpringBoot 去执行命令行程序?
像其他 Java 程序一样,一个 SpringBoot 命令行程序必须要有一个 main 方法。这个方法作为一个入口点,通过调用 SpringApplication#run 方法来驱动程序执行:
@SpringBootApplication
public class MySpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(MySpringBootApplication.class);
}
}
27、SpringBoot 支持松绑定代表什么
SpringBoot中的松绑定适用于配置属性的类型安全绑定。使用松绑定,环境属性的键不需要与属性名完全匹配。这样就可以用驼峰式、短横线式、蛇形式或者下划线分割来命名
表示驼峰式、下划线()、短横线(-)
标准方式
person.firstName
方式一:大写用-
person.first-name
方式二:大写用
person.first_name
三种方式,都可以使用
推荐,属性书写方式
PERSON_FIRST_NAME
28、SpringBoot DevTools 的用途是什么?
29、Java中springboot常用的starter有哪些
- spring-boot-starter-web 嵌入tomcat和web开发需要servlet与jsp支持
- spring-boot-starter-data-jpa 数据库支持
- spring-boot-starter-data-redis redis数据库支持
- spring-boot-starter-data-solr solr支持
- mybatis-spring-boot-starter 第三方的mybatis集成starter
30、Spring Initializr 是创建 Spring Boot Projects 的唯一方法吗?
第一种方法是 start.spring.io在 Idea 中,使用文件 - 新建 Maven 项目来创建一个新项目1.添加依赖项。 2.添加 maven 插件。 3.添加 Spring Boot 应用程序类。
31、为什么我们需要 spring-boot-maven-plugin?
32、什么是 Spring Data?
33、我们能否在 spring-boot-starter-web 中用 jetty 代替 tomcat?
34、如何使用 Spring Boot 生成一个 WAR 文件?
35、RequestMapping 和 GetMapping 的不同之处在哪里?
Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语义。
以@GetMapping为例,Spring官方文档说:
@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP Get 映射到 特定的处理方法上。
36、可以配置 application.propertierde 的完整的属性列表在哪里可以找到?
37、JPA 和 Hibernate 有哪些区别?
- Hibernate是JPA规范的一个具体实现
- hibernate有JPA没有的特性
- hibernate 的效率更快
- JPA 有更好的移植性,通用性
38、Spring Boot 的核心注解是
@SpringBootApplication
最后
无论是哪家公司,都很重视基础,大厂更加重视技术的深度和广度,面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。
针对以上面试技术点,我在这里也做一些资料分享,希望能更好的帮助到大家。
转存中…(img-Lmu223d0-1628080623223)]
[外链图片转存中…(img-jfGflW7M-1628080623226)]
[外链图片转存中…(img-TdK9W4DF-1628080623228)]