@Autowired
  • @Autowired注解由spring框架定义,能够形容属性,set办法和构造方法,其中形容构造方法时能够省略。
  • @Autowired注解为对象注入值时默认名称为类名首字母小写。
  • @Autowired注解为属性注入值时:

    • 先判断属性类型,类型不匹配时会报 NoSuchBeanDefinitionException 谬误
    • 同一类型有多个对象时,再依据指定的名称查找,如果没有指定名称时会报 NoUniqueBeanDefinitionException 谬误
    • 也能够应用@Qualifier注解找指定名字的类为属性注入值,@Qualifier注解能够形容属性和个别办法,但不能润饰构造方法,用在构造方法中式须要写在形参后面
  • 再启动类的子包下定义一个接口Cache,在Cache接口所在包定义两个类SoftCache和WeakCache实现Cache接口并交给Spring框架治理,定义一个业务类SearchService交给Spring框架治理,实现代码如下: