@Autowired注解 required属性

在@Autowired注解中,有一个required属性,默认为true

@Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Autowired {

	/**
	 * Declares whether the annotated dependency is required.
	 * 

Defaults to {@code true}. */ boolean required() default true; }

结论:

  • 当required属性为true的时候,注入SpringBean的时候,该bean必须存在,不然会注入失败,启动报错
  • 当required属性为false的时候,注入SpringBean的时候,如果bean存在,就注入;如果不存在,就忽略跳过,启动不会报错,但不能直接使用

你可能感兴趣的:(SpringBoot,java,spring,开发语言)