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标签注册啊

posted @ 2022-03-28 17:28  荧惑微光  阅读(41)  评论(0)    收藏  举报