Spring Boot 面試題

一、列舉一些SpringBoot特性html

  • 一、建立獨立的Spring項目
  • 二、內置Tomcat和Jetty容器
  • 三、提供一個starter POMs來簡化Maven配置
  • 四、提供了一系列大型項目中常見的非功能性特性,如安全、指標,健康檢測、外部配置等
  • 五、徹底沒有代碼生成和xml配置文件

二、有什麼經常使用的Spring Boot啓動器?
spring-boot-starter: 核心啓動器,包括自動配置支持,日誌記錄和YAML
spring-boot-starter-aop: 使用Spring AOP和AspectJ進行面向方面編程的啓動器
spring-boot-starter-data-jpa: 使用Spring Data JPA和Hibernate的啓動器
spring-boot-starter-jdbc: 用於將JDBC與HikariCP鏈接池一塊兒使用的啓動器
spring-boot-starter-security: 使用Spring Security的啓動器
spring-boot-starter-test: 用於測試Spring Boot應用程序的啓動器
spring-boot-starter-web: 用於構建Web的入門者,包括使用Spring MVC的RESTful應用程序web

三、application.properties中如何引用已定義的配置參數?
使用${},好比:
book.name = XXX
book.desc = ${book.name} 's descspring

四、spring boot Devtools有什麼做用?
https://blog.csdn.net/isea533/article/details/70495714編程

五、Spring Boot Actuator有什麼做用?
監控和管理Spring Boot應用,好比Mappring、健康檢查、審計、統計和HTTP追蹤等。全部的這些特性能夠經過JMX或者HTTP endpoints來得到。json

六、RequestMapping 和 GetMapping 的不一樣之處在哪裏?
RequestMapping 具備類屬性的,能夠進行 GET,POST,PUT 或者其它的註釋中具備的請求方法。
GetMapping 是 GET 請求方法中的一個特例。它只是 ResquestMapping 的一個延伸,目的是爲了提升清晰度。安全

七、@ConfigurationProperties 註解的做用
將配置屬性注入到bean
相似以下:
@Component
@ConfigurationProperties(prefix = "person")
public class Person {springboot

private String firstName;app

} 異步

application.properties屬性:
person.firstName = XXXspring-boot

八、@value和@configurationproperties的區別
https://www.cnblogs.com/slowcity/p/9097969.html

九、Spring Boot 如何定義多套不一樣環境配置?
提供多套配置文件,如:

applcation.properties
application-dev.properties
application-test.properties
application-prod.properties
祥見:https://mp.weixin.qq.com/s/K0kdQwoo2t5FDsTUJttSAA

十、@responsebody有什麼做用?
@responsebody後返回結果不會被解析爲跳轉路徑,而是直接寫入HTTP response body中。好比異步獲取json數據,加上@responsebody後,會直接返回json數據。該註解通常會配合@RequestMapping一塊兒使用。

十一、@Controller 和 @RestController有什麼區別?
@RestController 是Spring4以後加入的註解,原來在@Controller中返回json須要@ResponseBody來配合,若是直接用@RestController替代@Controller就不須要再配置@ResponseBody,默認返回json格式。而@Controller是用來建立處理http請求的對象,通常結合@RequestMapping使用。


十二、@Component和@Bean有什麼區別? (答案還不是特別確信)
@Component被用在要被自動掃描和裝配的類上。@Component類中使用方法或字段時不會使用CGLIB加強(及不使用代理類:調用任何方法,使用任何變量,拿到的是原始對象)Spring 註解@Component等效於@Service,@Controller,@Repository
@Bean主要被用在方法上,來顯式聲明要用生成的類;用@Configuration註解該類,用@Bean標註方法等價於XML中配置bean。

如今項目上,本工程中的類,通常都使用@Component來生成bean。在把經過web service取得的類,生成Bean時,使用@Bean和getter方法來生成bean


1三、有什麼springboot的安全方面的實踐?

https://mp.weixin.qq.com/s/HG4_StZyNCoWx02mUVCs1g

1四、如何使用@Async?
如今啓動類@SpringBootApplication後面加入@EnableAsync,定義@Component類中的異步任務方法,其中註解@Async,方法返回void或者Future<T>,調用方法即日常的@Autowired實例化便可。

1五、springboot如何開啓定時任務?定義啓動類@EnableScheduling,而後在任務類使用cron表達式來定義任務時間,好比@Scheduled(cron="/6 * * * * ?")表明每6秒一次,再如:「0 0 12 * * ?」 天天中午12點觸發。

相關文章
相關標籤/搜索