springboot interview ready

1. 什么是springboot:

		能够快速构建spring应用的框架。

2. 为什么要用他:

		1. 减少了配置,提倡约定大于配置。 
		2. 解决依赖包的问题。
		3. 很容易上手
		4. 自带tomcat服务器

3. 配置文件有哪几个: application.properties,yml

	Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
	springBootApplication(组合注解)包括
	(enableautoConfiguration,componentScan,springbootconfiguration)
	@SpringBootConfiguration: springboot相关配置
	@enableautoConfiguration: 开启spring应用程序的自动配置,比如添加了spring-boot-starter-			    web,
	则会自动帮我们配置tomcat、springmvc.
	@componentScan: 默认扫描主类以及子类下的包。

4. 开启 Spring Boot 特性有哪几种方式?

	spring-boot-starter-parent

5. 你如何理解 Spring Boot 中的 Starters?

	相当于一个启动器,里面包含了很多相关的依赖包,不需要人为的去导入依赖。 
	比如常见starter: starter-web、starter-data-redis、starter-log4j

6. springboot默认配置源:

	  HikariCP

7. 如何在 Spring Boot 启动的时候运行一些特定的代码?

	实现接口commandLineRunner, 里面有个run方法,Order指定执行的一个顺序。

8. Spring Boot 有哪几种读取配置的方式?

	使用Environment进行读取,  
	@Autowired  
	private Environment environment;
	String property = environment.getProperty("server.port");

	自定义配置文件
	@Configuration
	@ConfigurationProperties
	@PropertySource("classpath:application-mq.properties")

9. Spring Boot 支持哪些日志框架?推荐和默认的日志框架是哪个?

	log4j,Log4j2,Lockback. 默认是lockback.

10. springboot热部署的几种方式

	在pom文件里加入spring-boot-devtools即可。

11. springboot如何使用redis

		1. 导入starter-data-redis
		2. 配置文件里指定端口与是否密码之内的
		3. 依赖注入StringRedisTemplate或ReidsTemplate来进行获取值。
			区别:
				1. StringRedisTemplate继承了RedisTemplate。
				2. RedisTemplate是个泛型类而StringRedisTemplate不是。
				3. StringRedisTemplate中k、v都是string类型,RedisTemplate都是object类型

12. springboot自定义异常

		定义一个异常类使用ControllerAdvice注解,定义一个方法,使用exceptionHander      
	(Exception.class)注解。    

12. springboot整合mybatis

		1. pom文件导入相关依赖
		2. xml配置: mybatis.xml位置、pojo位置、映射xml位置
		3. 启动项加入MapperScan扫描mapper(相当于dao)

13. springboot bean启动顺序

		1.   使用depondsOn(value="")
		2.   把后加载的类放到深一点的地方。

14. 定时任务使用

	1. 在主类上使用@enableScheduling注解
	2. 方法上使用Scheduled(fixedDelay,fixedRate)
	3. fixedDelay(每隔多少秒执行一次,无论这个方法执行都久都要等
		fixedRate: 如果ONE_Minute为3秒,而t2方法执行了10秒,那么本来过了
		3秒该第二次执行了,但是由于t2依然再执行,所以这个时候会等待第一次执行完了立马第二次执行,不会再等待3秒了	   

16. springboot多个实例如何只调用一次定时任务

	1. 通过配置文件设置一个变量,那个实例启动,那个不启动。
	2. 也可以单独弄一个项目管理配置文件

17. 定时任务单线程

		默认是单线程,可以通过配置改成多线程。
		
		@Configuration
		public class ScheduleConfig {
		    @Bean
		    public TaskScheduler taskScheduler() {
		        ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
		        scheduler.setPoolSize(10);
		        return scheduler;
		    }
		}

18. springboot异步使用

1. 在主类加上@enableasyn注解
2. 要在异步使用的方法上加上@Async就行

20. springboot自定义注解

在这里插入图片描述

21 springboot自动装配原理

启动类上加了@SpringBootApplication,这是一个组合注解
下面有三个核心注解:

  1. @springbootConfiguration 对应的是自己这边配置文件
  2. @enableAutoConfiguration 对应的是pom文件里的starter,会自动进行解析加载启动器。
  3. @ComponentScan 自动扫描类,默认扫描的是启动器下的子类。类似于spring中xml配置文件里的context:component-scan

22 理解spring-boot-starter-parent

  1. 里面定义了java的编译版本,2.0.6默认是jdk1.8
  2. 编码格式utf-8
  3. 里面有个spring-boot-dependencies定义了jar包的版本号
  4. 资源过滤等等。

23 springboot session共享

  1. 加入依赖包即可在这里插入图片描述
  2. 然后就该怎么使用就怎么使用,没有任何特别之处。在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值