Spring通过注解管理控制反转(IOC)和注入(DI)
2019-01-03 20:19
567 查看
版权声明:Arno https://blog.csdn.net/yu342107056/article/details/85717522
spring中的注解用法
1.注解的依赖注入di
在spring的xml中用
<property name="" ref=""> <!-- setter方式注入--> <constructor index="" ref=""/><!--用构造函数方式注入-->
在spring的annotation注解中 :
<property name="" ref=""> <!-- setter方式注入--> <constructor index="" ref=""/><!-- 用构造函数方式注入没有相应的注解-->
setter方式注入被替换成
@Resource
@Autowired @Qualifier
@Inject @Named
前提:需要在XML文件中添加
<!-- 用来解析@Resource注解@AutoWired@Inject注解 --> <context:annotation-config></context:annotation-config>
@Resource注解: 属于j2EE规范
//name="userDao" 拿name的值userDao作为对象的名字去spring容器中寻找,有就注入 @Resource(name="userDao") private UserDao userDao; //@Resource中没有写name属性,拿属性的名字userDao 去spring容器中寻找,有就注入 @Resource private UserDao userDao; //有name就直接匹配name的值,如果匹配不上拿属性名称寻找,如果属性名称找不到按类型匹配 @Resource private UserDao userDao111;
@Autowired注解:属于spring的规范
//用属性名称userDao去spring的容器中寻找,如果有就注入 @Autowired private UserDao userDao; //用属性名称userDao111去spring的容器中寻找,如果没有就按类型匹配,在spring容器中不能有多个相同类型的对象 @Autowired private UserDao userDao111; //精确按照名称注入,如果名称不匹配就报异常,不会用类型注入 @Autowired@Qualifier("userDao")//精确按照名称注入, private UserDao userDao;
@Inject @Named注解,此注解必须依赖jsr-330.jar,基本不会有人用。
1.注解的ioc
在spring的xml中用
<bean id="" class="包名.类名">
在sring的annotation注解中
<bean id="" class="包名.类名">
被替换成
@Controller v
@Service
@Repository
@Component
前提:需要在XML文件中添加
<!-- 用来解析@Controller @Service @Respoitory @Component 注解 还能解析@Resource @Autowired @Inject base-package="包名",多个包名用逗号间隔 如果写了<ontext:component-scan 就不用写<context:annotation-config> 因为在<ontext:component-scan已经包含了<context:annotation-config> --> <context:component-scan base-package="com.arno.dao"></context:component-scan> <context:component-scan base-package="com.arno.service"></context:component-scan>
@Controller 修饰在controller类上
@Service 修饰在业务的类上
@Repository 修饰在dao的类上
@Component 无法归controller和service和dao类别中
@Component 可以用来替换@Service和@Repository无法替换@Controller
相关文章推荐
- Spring学习(1):控制反转(IoC)和依赖注入(DI)的详解以及注解(annotation)开发入门案例
- spring、IoC控制反转和DI依赖注入入门、基于XML的Bean装配、基于注解的Bean装配
- 【JavaWeb-23】spring、IoC控制反转和DI依赖注入入门、基于XML的Bean装配、基于注解的Bean装配
- Spring原理机制资源汇总(控制反转(IoC)与依赖注入(DI)主题)
- 如何理解Spring的控制反转IOC和依赖注入DI思想
- Spring学习3—控制反转(IOC)基于Annotation(注解)的依赖注入实现
- Helloworld之Spring依赖注入/控制反转(DI/IoC)版
- Spring入门--控制反转(IOC)与依赖注入(DI)
- 如何理解Spring的控制反转IOC和依赖注入DI思想
- Spring控制反转(IOC)和依赖注入(DI),再记不住就去出家!
- Spring 之 控制反转(IoC), 依赖注入(DI)和面向切面(AOP)
- Spring学习之——控制反转(IoC)与依赖注入(DI)
- Spring中的控制反转Ioc依赖注入DI的区别和联系
- Spring 控制反转IOC,依赖注入DI
- Spring反转控制(IOC)和依赖注入(DI)
- Spring环境搭建之:控制反转(IoC Inversion of Control)与依赖注入(DI Depenency Injection)
- Spring中的Ioc控制反转与DI注入
- Spring的控制反转(IOC)和依赖注入(DI)的概念
- Spring控制反转与依赖注入(IOC、DI)
- 利用反射简单模拟Spring的控制反转(Ioc)和依赖注入(DI)