[面试] Spring Boot 的约定优于配置,你怎么理解
Spring Boot的“约定优于配置”是一个核心原则,它意味着Spring Boot会根据应用的项目结构和命名约定自动配置Spring应用。这样做可以减少开发人员需要编写的配置代码,从而使开发更快速、更简单。
例如,如果你有一个类名为MyService
的服务组件,并且它位于com.example.service
包下,Spring Boot会自动检测到这个类,并将其作为服务组件注册到Spring容器中,无需任何显式配置。
这是因为Spring Boot默认扫描@SpringBootApplication
注解标注的类所在的包及其子包下的组件。
你可以通过以下方式来理解和应用这个原则:
遵循Spring Boot的约定:
- 将你的应用主类放在根包路径下,或者是子包路径,这样Spring Boot就可以自动扫描到相关的组件。
- 遵循默认的组件扫描规则,如将controller、service、repository等层的类放在对应的包下。
- 在需要的时候,可以通过
@ComponentScan
注解或在配置类中使用@Bean
方法来自定义扫描路径。 - 使用Spring Boot的自动配置特性,如果需要自定义配置,可以创建
application.properties
或application.yml
文件在src/main/resources
目录下,或者通过@ConfigurationProperties
指定配置文件的前缀。 - 如果需要完全禁用某个自动配置类,可以在
@SpringBootApplication
注解中使用exclude
参数,或者在application.properties
或application.yml
中通过设置spring.autoconfigure.exclude
属性来实现。
总结:遵循Spring Boot的约定优于配置原则,可以简化配置,提高开发效率。
评论已关闭