dao:Repository
servcie:@service
servlet:@controller
其他工具类:@compoent
@Autowired:按照类型装配;(byType);required:必须,是否必须装配;
先按照名字装配,如果匹配成功就ok;只能是自用类型的变量名,无法更改;
匹配失败就按照类型装配
@Resource;jdk1.8的,jdk11的时候已经废除
@Resource(name = "dynastyDao1") 如果dao的id和引用类型的变量名不一样,可以优先使用@resource()参数 指定的名字
@Resource:什么也不加可以按照类型去找
需要额外的引入一个包:javax.annotation-api-1.3.2.jar
xml配置
default-autowire="byName">
<!-- 注解:
@override
@test
@before
compoent-scan:组件扫描,告诉spring要扫描哪些包
-->
<context:component-scan base-package="com.jjh"/>
自动装配的条件
装配:有条件
一般都是为引用类型装配;
当前类的引用类型的名字和SpringIoc容器中bean的id一模一样;
ServiceImpl的引用类型名字(dynastyDao)和SpringIoc容器中bean的id一模一样;
autowire="byName":
byName:就是按照名字装配;当前类的引用类型的名字和SpringIoc容器中bean的id一模一样;
byType:按照类型装配;类型对应的bean的类型只有一个
no:不装配