1、@service("serviceName"): 表示給當(dāng)前類命名一個別名,方便注入到其他類中;
2、@service:不加的話,默認(rèn)別名就是當(dāng)前類名,但是首字母小寫
3、這些注解都是Bean,Spring容器托管
- 持久層:@Repository 
- 業(yè)務(wù)層:@Service 
- 控制層:@Controller 
- 中立類:@Component (對那些比較中立的類進行注釋) 
4、配置自動掃描即可
<context:component-scan base-package=”com.controller”>
- @Scope注解可以改變其作用范圍 
- spring中的Bean默認(rèn)都是單例 
5、@Autowired 與@Resource的區(qū)別:
(1)@Resource
- @Resource(這個注解屬于J2EE的) 
- @Resource的作用相當(dāng)于@Autowired 
- @Resource默認(rèn)按 byName自動注入 
- 如果注解寫在setter方法上默認(rèn)取屬性名進行裝配 
- 當(dāng)找不到與名稱匹配的bean時才按照類型進行裝配 
- 如果name屬性一旦指定,就只會按照名稱進行裝配 
- Spring將@Resource注解的name屬性解析為bean的名字,type屬性則解析為bean的類型 
- 如果使用name屬性,則使用byName的自動注入策略 
- 如果使用type屬性時則使用byType自動注入策略 
- 如果name屬性、type屬性都不,通過反射機制使用byName自動注入策略 
(2)二者都可以用來裝配bean
(3)都可以寫在字段上,或?qū)懺趕etter方法上
(4)@Autowired
- @Autowired默認(rèn)按類型裝配 
- 這個注解是屬業(yè)spring 
- 默認(rèn)情況下必須要求依賴對象必須存在 
- 如果要允許null值,@Autowired(required=false) 
- @Qualifier注解(qualifier的意思是合格者) 
- @Qualifier注解 應(yīng)對單接口多個類實現(xiàn)的情況 
- @Qualifier的參數(shù)名稱必須為我們之前定義@Service注解的名稱之一 
@Autowired
    @Qualifier("service")//@Qualifier的參數(shù)名稱必須為我們之前定義@Service注解的名稱之一
    EmployeeService employeeService;