context:component-scan和context:annotation-config
相同点:
这俩标签都是context命名空间下的,都是为了实现基于注解的IOC
不同点:
首先明确注解有哪些:
用于创建对象的注解有四个,@Component,@Service,@Controller,@Repository
(这四个就是约定大于配置的四个注解而已,功能上没有区别,人为规定@Service用于业务层,Controller用于web层....)
用于给属性注入值得注解有四个,常用的就是@Autowired
注解和<context>的关系
这些注解负责创建类对象,但是,注解本身是啥也干不了的,不是说碰见了他们就把对象创建出来了
需要一个东西来处理这些注解,这个东西就是context命名空间(也可以叫约束),支持注解操作
context:component-scan
一键式操作,注册+激活
<context:component-scan base-package="com.zhang.package"></context:component-scan>
啥是scan啊,就是扫描啊,他会扫描标签指定的包下面的所有类,如果这个类有这几个注解,那么就注册
context:annotation-config
这个作用是激活那些已经在spring容器里注册过的bean】
换句话说,使用他的前提是类已经注册过了,咋注册,bean标签注册啊
本文来自博客园,作者:荧惑微光,转载请注明原文链接:https://www.cnblogs.com/yinghuoweiguang/p/16068187.html

浙公网安备 33010602011771号