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
39、开启 Spring Boot 特性有哪几种方式?
1)继承spring-boot-starter-parent项目
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<type>pom</type>
</dependency>
2)导入spring-boot-dependencies项目依赖
40、Spring Boot 需要独立的容器运行吗?
最后
2020年在匆匆忙忙慌慌乱乱中就这么度过了,我们迎来了新一年,互联网的发展如此之快,技术日新月异,更新迭代成为了这个时代的代名词,坚持下来的技术体系会越来越健壮,JVM作为如今是跳槽大厂必备的技能,如果你还没掌握,更别提之后更新的新技术了。
更多JVM面试整理:
CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】
rDAK-1630922760714)]