1.核心注解的知识点:
- @Component 注解:
@Component
对类进行标注,职责是泛指组件 Bean ,应用启动时会被容器加载并加入容器管理。常见的@Controller
、@Service
、@Repository
是@Component
的分类细化组件,分别对应控制层、服务层、持久层的 Bean。 -
@Value 注解:
@Value
对 Bean 的字段或者方法参数进行标注,职责是基于表达式给字段或方法参数设置默认属性值。通常格式是注解 + SpEL 表达式,如@Value("SpEL 表达式")
。
使用 @Vlaue
注解来引用属性值时,确保所引用的属性值在 application.properties 文件存在并且相对应匹配,否则会造成 Bean 的创建错误,引发 java.lang.IllegalArgumentException
非法参数异常。
通过 @Autowired
注解标记在UserMapper usermapper 字段前,控制层自动装配属性 Bean 并使用。默认情况下要求被注解的 Bean 必须存在,需要允许 NULL 值,可以设置其 required 属性为 false: @Autowired(required = false)
。
2.自动配置
Spring Boot spring-boot-autoconfigure
依赖实现了默认的配置项,即应用默认值。这种模式叫做 “自动配置”。Spring Boot 自动配置会根据添加的依赖,自动加载依赖相关的配置属性并启动依赖。例如默认用的内嵌式容器是 Tomcat ,端口默认设置为 8080。
为什么需要自动配置?顾名思义,自动配置的意义是利用这种模式代替了配置 XML 繁琐模式。以前使用 Spring MVC ,需要进行配置组件扫描、调度器、视图解析器等,使用 Spring Boot 自动配置后,只需要添加 MVC 组件即可自动配置所需要的 Bean。所有自动配置的实现都在 spring-boot-autoconfigure
依赖中,包括 Spring MVC 、Data 和其它框架的自动配置。