spring 注解方式配置Bean
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的更多相关文章
- 跟着刚哥学习Spring框架--通过注解方式配置Bean(四)
组件扫描:Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件. 特定组件包括: 1.@Component:基本注解,识别一个受Spring管理的组件 2.@Resposit ...
- spring学习笔记 星球日two - 注解方式配置bean
注解要放在要注解的对象的上方 @Autowired private Category category; <?xml version="1.0" encoding=" ...
- Spring框架学习(6)使用ioc注解方式配置bean
内容源自:使用ioc注解方式配置bean context层 : 上下文环境/容器环境 applicationContext.xml 1 ioc注解功能 注解 简化xml文件配置 如 hibernate ...
- spring之通过注解方式配置Bean(一)
(1)组件扫描:spring能够从classpath下自动扫描.侦测和实例化具有特定注解的组件. (2)特定组件包括: @Component:基本注解,标识一个受spring管理的组件: @Respo ...
- spring注解方式注入bean
用注解的方式注入bean,spring的配置文件也要增加一些约束和导入注解所在的包 applicationContext.xml <?xml version="1.0" en ...
- spring注解方式配置以及spring4的泛型注入 (4)
目录 一.@Controller 注解控制层(action) 二.@Service 注解服务层 三.@Repository 持久层 四.spring4的泛型注入测试 1 创建两个实体User和Role ...
- Spring使用ioc注解方式配置bean
context层 : 上下文环境/容器环境 applicationContext.xml 具体示例: 现在ioc容器中添加context层支持: 包括添加xmlns:context.xsi:schem ...
- Spring初学之注解方式配置bean
直接看代码: UserController.java package spring.beans.annotation.controller; import org.springframework.be ...
- Spring注解方式配置Redis
@Configuration public class RedisConfiguraion { @Bean public JedisConnectionFactory redisConnectionF ...
随机推荐
- eclipse的xml文件提示templates的模板.md
eclipse的xml文件提示templates的模板 <?xml version="1.0" encoding="UTF-8" standalone=& ...
- 第2天:HTML常用标签
今天学完主要对所学知识点进行了整理. 一.超链接ahref:www.baidu.com(跳转页面):id名(锚点跳到相应div位置):01.rar(压缩包) target:_blank(新窗口打开): ...
- 软件测试学习LINUX常用命令
测试初学者常用的LINUX命令,不懂得的可加Q群答疑649017887 一.常用管理命令:1. shutdown -h now 关机命令2. shutdown -r now (reboot) 立即重启 ...
- MySQL 参数autoReconnect=true 解决8小时连接失效(转)
即使在创建Mysql时url中加入了autoReconnect=true参数,一但这个连接两次访问数据库的时间超出了服务器端wait_timeout的时间限制,还是会CommunicationsExc ...
- poj 1182 食物链 带权并查集
食物链是并查集的进阶运用的一道非常经典的题目. 题目如下: 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A, ...
- 3_初学sql注入
sql注入的分类:布尔型 报错型 可联合查询型 多语句查询型 基于时间延迟注入 1.注释符 # /* -- 2.过滤空格注入 使用/**/或()或+代替空格 3.多条数据显示 concat(str1, ...
- Begin the new life as a coder
今天刚刚开通博客园的博客频道,这里将成为自我成长点滴记录的土壤!从今天开始,从这篇博文开始,我将分享自己从一个fresher开始的成长经历.原与广大仁人志士共同在程序中共享快乐!我真是太高兴了 :D
- 汇编指令-CMP、TEQ(5)
cmp:(compare)指令进行比较两个操作数的大小 格式: cmp oprd1,oprd2 比较oprd1和oprd2操作数,然后通过助记符来实现想要的判断. teq: (test equal ...
- servlet 返回json 数据
后端的数据需要返回简单的json数据: 发现通过双引号和单引号:" { 'name':123 } "的方式返回失败. 需要通过\转义里边的双引号: response.getWr ...
- 在对话框中利用CToolBar类添加工具条的方法
UINT BASED_CODE DockTool[]={ID_NEWGAME,ID_SAVE,ID_OPEN,ID_SEPARATOR,ID_COPYFEN,ID_PASTEFEN,ID_SEPARA ...