1、@service("serviceName"): 表示给当前类命名一个别名,方便注入到其他类中;

2、@service:不加的话,默认别名就是当前类名,但是首字母小写

3、这些注解都是Bean,Spring容器托管

springMVC的@service("serviceName")注解-LMLPHP

4、配置自动扫描即可

<context:annotation-config/>

<context:component-scan base-package=”com.eric.spring”>
  • @Scope注解可以改变其作用范围
  • spring中的Bean默认都是单例

5、@Autowired 与@Resource的区别:

(1)@Resource

  • @Resource(这个注解属于J2EE的)
  • @Resource的作用相当于@Autowired
  • @Resource默认按 byName自动注入
  • 如果注解写在setter方法上默认取属性名进行装配
  • 当找不到与名称匹配的bean时才按照类型进行装配
  • 如果name属性一旦指定,就只会按照名称进行装配
  • Spring将@Resource注解的name属性解析为bean的名字,type属性则解析为bean的类型
  • 如果使用name属性,则使用byName的自动注入策略
  • 如果使用type属性时则使用byType自动注入策略
  • 如果name属性、type属性都不,通过反射机制使用byName自动注入策略

(2)二者都可以用来装配bean

(3)都可以写在字段上,或写在setter方法上

(4)@Autowired

  • @Autowired默认按类型装配
  • 这个注解是属业spring
  • 默认情况下必须要求依赖对象必须存在
  • 如果要允许null值,@Autowired(required=false)
  • @Qualifier注解(qualifier的意思是合格者)
  • @Qualifier注解 应对单接口多个类实现的情况
  • @Qualifier的参数名称必须为我们之前定义@Service注解的名称之一
    @Autowired
    @Qualifier("service")//@Qualifier的参数名称必须为我们之前定义@Service注解的名称之一
    EmployeeService employeeService;
04-13 19:49