1、什么是注解
(1)注解是代码的特殊标记,格式:@注解(属性名=属性值,属性名=属性值)
(2)注解作用在类上,方法上,属性上
(3)使用注解的目的,简化xml配置
2、Spring针对Bean管理中创建对象提供的注解
(1)@Component
(2)@Service
(3)@Controller
(4)@Repository
*上面几个注解功能都是一样的可以用来创建bean实例
3、基于注解方式实现对象的创建
(1)导入依赖
(2)在配置文件中声明context的命名空间
(3)扫描组件
(4)创建类,在类上加上注解(value相当于xml的id,可加也可不加,不加默认值为类名,并且第一个字母换为小写)
4、开启组件扫描的细节配置
(1)表示现在不适用默认fileters,自己配置fileters,设置扫描哪些内容,其它类不扫描,只扫描controller
<context:component-scan base-package="com.atguigu.springmvc" use-default-filters="false">
<context:include-filter type="annotation"
expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
(2)表示使用默认fileters,context:exclude-filter type="annotation"除了配置controller其它类都扫描
<context:component-scan base-package="com.atguigu.springmvc">
<context:exclude-filter type="annotation"
expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
5、基于注解形式实现属性注入
(1)spring针对于属性注入提供的注解
*@Autowired:根据类型注入
*@Qualifier:根据名称注入
*@Resource:根据类型注入,也可以根据名称注入
*@value:注入普通类型属性
(2)@Autowired的实现演示
*先创建两个类的对象
*再用注解进行属性的注入
*@Qualifier:属性注入演示,@Qualifier需要和@Autowired同时使用
*@Resource
*@Value
6、完全注解开发
(1)创建配置类,代替xml
*@Configuration代表这是一个配置类
*@ComponentScan(basePackages = {"com.ma"})类似于扫描组件
(2)测试类的演示