基于注解配置spring
1 对 bean 的标注基于注解方式有3个注解
- @Component
- @Repository 对DAO类进行标注
- @Service 对Service类进行标注
- @Controller 对Controller类进行标注
2 想要 spring 获得基于注解的bean 需要配置 <context:component-scan /> 进行扫描,并从注解中获得配置信息。
3 自动装配 bean ,使用 @Autowired 注解实现 Bean 的依赖注入。@Autowired 默认按照类型匹配 byType 的方式在容器中查找匹配的bean。当且仅有一个匹配的 bean 时,spring 将其注入到
@Autowired 标注的变量中。
如果在Spring启动时没有一个和标注变量类型匹配的 bean ,则会抛出 NoSuchBeanDefinitionException 异常,如果希望 Spring 即使找不到匹配的 bean 也不要抛出异常,可以使用
@Autowired(required=false) 进行标注
3.2 如果容器中有一个以上匹配的 bean ,则可以通过使用@Qualifier 注解限定 bean 名称
3.3 @Autowired 可以对类方法进行标注,如果方法有多个入参数,默认情况下,Spring 将自动选择匹配入参类型的 bean 进行注入,spring 允许对方法入参标注 @Qualifier 以指定
注入 bean 的名称
说明:虽然spring 支持属性和方法标注 @Autowired ,但是推荐使用方法上注入,方便以后的单元测试。因为标注在私有属性中很难用编程方式设置属性值
3.4 延迟依赖注入,通过使用 @Lazy 注解的bean , 不会立即注入,而是会延迟到调用此属性的时候才会注入属性值。
@Lazy 必须注解和 bean 标注同时使用
4 @Scope 用于指定 bean 的作用域范围,singleton,prototype。使用<bean> 配置时可以通过 init-method 和 destroy-method 属性指定 bean 的初始化及销毁前执行的方法。
相应的注解方法是通过 @PostControst 和 @PreDestroy, 在bean 中通过这两个标签指定 init-method 和 destroy-method 方法
5
基于注解配置spring的更多相关文章
- 基于注解的Spring AOP的配置和使用
摘要: 基于注解的Spring AOP的配置和使用 AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向切面编程.可以通过预编译方式和运行期动态代理实现在不 ...
- 基于注解的Spring AOP的配置和使用--转载
AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向切面编程.可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术. ...
- Unit03: Spring Web MVC简介 、 基于XML配置的MVC应用 、 基于注解配置的MVC应用
Unit03: Spring Web MVC简介 . 基于XML配置的MVC应用 . 基于注解配置的MVC应用 springmvc (1)springmvc是什么? 是一个mvc框架,用来简化基于mv ...
- 基于注解的Spring多数据源配置和使用(非事务)
原文:基于注解的Spring多数据源配置和使用 1.创建DynamicDataSource类,继承AbstractRoutingDataSource package com.rps.dataSourc ...
- Spring系列9:基于注解的Spring容器配置
写在前面 前面几篇中我们说过,Spring容器支持3种方式进行bean定义信息的配置,现在具体说明下: XML:bean的定义和依赖都在xml文件中配置,比较繁杂. Annotation-based ...
- Spring7:基于注解的Spring MVC(下篇)
Model 上一篇文章<Spring6:基于注解的Spring MVC(上篇)>,讲了Spring MVC环境搭建.@RequestMapping以及参数绑定,这是Spring MVC中最 ...
- 注解配置spring
1.为什么使用注解配置Spring基于注解配置的方式也已经逐渐代替xml.这个是不可逆的潮流,所以我们必须要掌握使用注解的方式配置Spring 总结:(1)使用注解配置Spring,注解的作用就是用于 ...
- Spring:基于注解的Spring MVC
什么是Spring MVC Spring MVC框架是一个MVC框架,通过实现Model-View-Controller模式来很好地将数据.业务与展现进行分离.从这样一个角度来说,Spring MVC ...
- 基于注解的Spring AOP示例
基于注解的Spring AOP示例 目录 在XML配置文件中开启 @AspectJ 支持 声明切面及切入点 声明通知 测试 结语 在XML配置文件中开启 @AspectJ 支持 要使用Spring的A ...
随机推荐
- sqlserver获取所有表和表字段
SELECT [number]=a.colorder, [column] =a.name, [datatype]=b.name, [length]=COLUMNPROPERTY(a.id,a.name ...
- springmvc整合slf4j、log4j记录文本日志
一.配置pom.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 3 ...
- 1503162139-ny-分数拆分
分数拆分 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描写叙述 如今输入一个正整数k,找到全部的正整数x>=y,使得1/k=1/x+1/y. 输入 第一行输入一个整数 ...
- #include <NOIP2009 Junior> 细胞分裂 ——using namespace wxl;
题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家.现在,他正在为一个细胞实 验做准备工作:培养细胞样本. Hanks 博士手里现在有 N 种细胞,编号从 1~N,一个 ...
- OpenMP 中的线程任务调度
OpenMP中任务调度主要针对并行的for循环,当循环中每次迭代的计算量不相等时,如果简单地给各个线程分配相同次数的迭代,则可能会造成各个线程计算负载的不平衡,影响程序的整体性能. 如下面的代码中,如 ...
- js 获取url的get传值函数
function getvl(name) { var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s| ...
- 缩进与对齐——正确地使用Tab和空格
写代码时大家都会使用缩进(indentation)和对齐(alignment),这是两个相关而又不同的概念,两者都是为了提高代码的可读性.缩进出现在一行的最左边,目的是明显地区分开包含与被包含的代码: ...
- ECharts学习总结(二):标签式单文件引入echarts的方法
下载好echarts的库文件.然后在script里面引入. //from echarts example <body> <div id="main" style= ...
- MyEclipse 如何最佳设置
摘自: http://blog.csdn.net/lifuxiangcaohui/article/details/8513561 MyEclipse 如何最佳设置 作为企业级开发最流行的工具,用Mye ...
- with(nolock)解释
摘自: http://blog.sina.com.cn/s/blog_5fafba5e010113kr.html with(nolock)解释 所有Select加 With (NoLock)解决阻 ...