Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件特定组件包括:

@Component:基本注解,标示了一个受Spring管理的Bean组件

@Respository:标识数据访问层(DAO层)组件

@Service:标识服务层(业务层)组件

@Controller:标识控制层(表现层),该类是能处理HTTP请求的控制器。

对于扫描到的组件, Spring有默认的命名策略 :使用非限定类名,第一个字母小写( UserServiceImpl—>userServiceImpl ), 也可以再注解中通过value属性值标识组件的名称(通常可以将UserServiceImpl —>userService,可以将Impl拿掉,这是一个习惯)(如果类名钱两个字母都是大写字母,则将命名为类名:TUserDao—>TUserDao)

当在组件类中使用了特定的注解之后,还需要在Spring的配置文件中声明<context:component-scan>

  • base-package属性指定一个需要扫描的基类包,Spring容器将会扫描整个基类包里及其子包中的所有类
  • 当需要扫描多个包时,可以使用逗号分隔
  • 如果仅希望扫描特定的类而非基包下的所有类,可使用resource-pattern属性过滤特定的类
<context:component-scan base-package="com.baobaotao.dao" resource-pattern="*DAO.class">
  • <context:include-filter>子节点表示要包含的目标类

  • <context:exclude-filter>子节点表示要排除在外的目标类

<context:component-scan>下可以有多个<context:include-filter>和<context:exclude-filter>子节点

<context:component-sacn>元素还会自动注册AutowireAnnotationBeanPostProcessor实例,该实例可以自动装配具有 @Autowired(和@Qualifier配合使用将按类型bean注入转换成按bean名称注入) 和@Resource(要求提供一个Bean名称的属性,若该属性为空,则自动采用标注处的变量或方法名作为Bean的名称)、@Inject(@Inject和@Autowired注解一样也是按照类型匹配注入的Bean,但没有required属性)注解的属性

spring 注解方式配置Bean的更多相关文章

  1. 跟着刚哥学习Spring框架--通过注解方式配置Bean(四)

    组件扫描:Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件. 特定组件包括: 1.@Component:基本注解,识别一个受Spring管理的组件 2.@Resposit ...

  2. spring学习笔记 星球日two - 注解方式配置bean

    注解要放在要注解的对象的上方 @Autowired private Category category; <?xml version="1.0" encoding=" ...

  3. Spring框架学习(6)使用ioc注解方式配置bean

    内容源自:使用ioc注解方式配置bean context层 : 上下文环境/容器环境 applicationContext.xml 1 ioc注解功能 注解 简化xml文件配置 如 hibernate ...

  4. spring之通过注解方式配置Bean(一)

    (1)组件扫描:spring能够从classpath下自动扫描.侦测和实例化具有特定注解的组件. (2)特定组件包括: @Component:基本注解,标识一个受spring管理的组件: @Respo ...

  5. spring注解方式注入bean

    用注解的方式注入bean,spring的配置文件也要增加一些约束和导入注解所在的包 applicationContext.xml <?xml version="1.0" en ...

  6. spring注解方式配置以及spring4的泛型注入 (4)

    目录 一.@Controller 注解控制层(action) 二.@Service 注解服务层 三.@Repository 持久层 四.spring4的泛型注入测试 1 创建两个实体User和Role ...

  7. Spring使用ioc注解方式配置bean

    context层 : 上下文环境/容器环境 applicationContext.xml 具体示例: 现在ioc容器中添加context层支持: 包括添加xmlns:context.xsi:schem ...

  8. Spring初学之注解方式配置bean

    直接看代码: UserController.java package spring.beans.annotation.controller; import org.springframework.be ...

  9. Spring注解方式配置Redis

    @Configuration public class RedisConfiguraion { @Bean public JedisConnectionFactory redisConnectionF ...

随机推荐

  1. asp.net core MVC 过滤器之ActionFilter过滤器(二)

    本系类将会讲解asp.net core MVC中的内置全局过滤器的使用,将分为以下章节 asp.net core MVC 过滤器之ExceptionFilter过滤器(一) asp.net core ...

  2. 通过 BitNami 轻松安装 Redmine

    一.简介 最近彭老师要我搭建 Redmine 来管理 WPF 项目,至于问什么要选择 Redmine 网上的资料都有说明,在这里就不做过多评论.查阅了好久资料,走了不少弯路,像我这样的新手,如果严格按 ...

  3. RSA简介(四)——求逆算法

    此处所谓求逆运算,是指在模乘群里求逆. 第一节里提到互质的两个定义: (1)p,q两整数互质指p,q的最大公约数为1. (2)p.q两整数互质指存在整数a,b,使得ap+bq=1. 只要明白了欧几里得 ...

  4. 借助VBScript让Windows系统发出声音

    借助VBScript让Windows系统发出声音.. 文件I Love You.VBS中的内容是: CreateObject("SAPI.SpVoice").Speak" ...

  5. 8.13.2 TreeSet实现Comparable接口的两种方式

    推荐使用第二种方式,编写比较器可以使数据类的程序耦合度降低,同时比较器也可以重复利用! 第一种方式:数据类实现Comparable接口,实现其中的compareTo方法 创建对象时,使用TreeSet ...

  6. spring的Java配置入门(Spring Boot学习笔记之一)

    spring的Java配置 1.创建maven项目 使用idea创建maven项目,这里顺便提一下,idea真的比eclipse好用,早点熟悉吧.然后就是maven是java项目管理最主流的工具,自己 ...

  7. Java基础---其他对象

    第一讲     System类 一.概述 1.System是描述系统一些信息的类,类中的属性和方法都是静态的.不能被实例化,没有提供构造函数. 2.字段摘要 out:标准输出流.默认是控制台. in: ...

  8. Git安装配置(完整版)

    首先安装Windows客户端的git和TortoiseGit. 安装这两个软件还是蛮重要的,很多选项不能乱选. 为了写个完整的博客,我是装了又卸,卸了又装. 1.安装git 下载:https://gi ...

  9. mongodb 的服务启动和基本操作命令

    由于在dos 下操作mongodb 很不方便 所以我推荐大家使用mongodb 的可视化工具robomongo  这个是robomongo的下载网址 https://robomongo.org/dow ...

  10. Maven maven-compiler-plugin版本

    项目执行Maven clean后出现WARNING提示.报如信息如下,根据报错信息 'build.plugins.plugin.version' for org.apache.maven.plugin ...