spring注释总结 1、两种注入方式区别
@Autowired注解是按类型装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它required属性为false。如果我们想使用按名称装配,可以结合@Qualifier注解一起使用。如下:
@Autowired @Qualifier("simpleDaoBean")
private SimpleDao simpleDao;
@Resource注解和@Autowired一样,也可以标注在字段或属性的setter方法上,但它默认按名称装配。名称可以通过@Resource的name属性指定,如果没有指定name属性,当注解标注在字段上,即默认取字段的名称作为bean名称寻找依赖对象,当注解标注在属性的setter方法上,即默认取属性名作为bean名称寻找依赖对象。
例如:
@Resource(name="simpleDaoimpl")
private SimpleDao simpleDao;//用于字段上
@Resource
public void setStudentsDao(StudentsDao studentsDao) {//用于属性的setter方法上
this. studentsDao = studentsDao;
}
Resource注解注意:
1、当不指明name时,按字段的name 属性查找xml文件中bean的id,如果找到,就进行注入,如果找不到,则按字段的类型查找后进行注入。
2、如果没有指定name属性,并且按照默认的名称仍然找不到依赖对象时, @Resource注解会回退到按类型装配。但一旦指定了name属性,就只能按名称装配了。
组件自动扫描机制
1、 在xml配置文件中配置以下信息
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/20xx/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:component-scan base-package="cn.itcast"/> </beans>
其中base-package为需要扫描的包(含子包)。
<context:component-scan base-package="cn.itcast"/>包含annotation 在内的很多处理器。
2、 四中注解
@Service用于标注业务层组件、 @Controller用于标注控制层组件(如struts中的action)、@Repository用于标注数据访问组件,即DAO组件。而@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。 说明:
1、 可以为注解指明名称:例如:@Service("simpleService")如果没指
明名称则默认为第一个字母小写的类名称。
2、 如果要配置bean的作用域,只需要用@Scope进行配置。例如:
@Scope("prototype")
3、 初始化方法注解:@PostConstruct
4、 销毁方法注解: @PreDestroy
第二篇:spring总结
《Spring 从入门到精通》的总结
第一部分 Spring 入门
第一章 Spring概述
总体上讲解了Spring框架
第二章 开始Spring之
讲述了一个简单的Spring实例
第二部分Spring 技术祥解
第三章 Spring 基础概念、
反向控制/依赖注册:
反向控制:
依赖注册:
三种注入方式: 接口注入 Set注入 构造注入
实例演示:
使用哪种注入方式:
第四章 Spring 核心容器
bean的定义及功能:
bean 的基础知识 : id class Singleton depends-on
bean的属性 null
bean 的生命周期 : 定义 初始化(2) 使用
销毁(2)
ref的属性指定依赖的三种模式 : local Bean Parent
比较 bean自动装配模式:byName byType constructor autodetect no
总结
bean依赖检查模式:simple object all none 总结
集合注入方式 : List Set Map Properties 总结
bean 管理 : 使用BeanWrapper管理 Bean 使用BeanFactory
管理Bean
使用ApplicationContext管理Bean
ApplicaitonContext更强的动能 : 国际化支持 资源访问
事件传递
第五章 Spring 的 AOP
AOP基本思想:认识 AOP AOP与OOP对比分析
AOP与JAVA的代理机制
输出日志的是实例代码:通用的日志输入方法 通过
面向接口编程实现日志输出 用java的代理机制进行日志输出 Aop的三个关键概念: 切入点(Pointct) 通知(Advice) Advisor Spirng的三种切入点: 静态切入点 动态切入点 自定义切入
点 SPring的通知(ADvice): Interception
Around通知 Before通知 after Returning通知 Throw通知 Introduction通知 Spring 的Advisor : 用
PROXYFACTORYBEAN创建AOP :使用PROXYFACTORYBEAN代理目标类的所有方法 使用PROXYFACTORYBEAN代理目标类指定方法 正则表达式 简介
把输出日志的实例改写成用SPRING的AOP 来实现: 采用 INTERCEPTION AROUND通知的形式实现 采用BEFORE通知的形
式实现采用AFTER RETURNING通知的形式实现 采用THROW通知
形式实现 SPRNG 中的良种代理方式: JAVA 动态代理
CGLIBE代理 SPRING中的自动代
理: AOP 的实
例:
第六章 Spring 事务处理
简述事务处理: 事务的基本概念 事务的处理特性
事务处理的三种注入方式:关系型数据库事务处理 传统的JDBC事务
处理
分布式事务处理
Spring 的事务处理: Spring 事务处理概述 编程式事务处理
声明式事务处理
用编程式还是声明式事务处理:
第七章 Spring 持久层封装
传统的JDBC数据库访问技术 :
通过XML实现DataSource注入 :使用DBCP连接池
使用Spring自带的DriverManagerDataSource 使用Tomcat提
供的 JNDI
使用JdbcTemplate访问 : 数据 Template模式简
介
事务处理TransactionTtemplate的实现方式 JdbcTempate
的实现方式
使用JdbcTemplate查询数据库 使用
JdbcTemplate更改数据库
使用ORM工具访问数据:ORM简述 使用Hibernate 使用iBatiks
第八章 Spring 的WEB框架
第九章 Spring 的定时器
定时器简述 :
定时器的两种实现方式 :
Timer Quartz 两种方式的比较
利用Spring简化定时任务的开发 :在Spring 中使用Timer实现定时器
在Spring中使用Quartz实现定时器
第三部分 Spring与其他工具整合应用
第十章 Spring与Struts的整合
Struts介绍 : Struts的历史 Struts体系结构
Struts的下载: 下载Struts 配置Struts
Jsp页面的 Struts实例:
Struts的主要类 :ActionServlet Action ActionMapping ActionForm
DispatchAction
国际化支持:
Struts的自定义的标签 : Bean标签 Logic标签 Html标签 Spring 与Struts整合: 通过 Spring的ActionSupport类
通过 Spring 的DelegatingRequestProcessor类 通过Spring的DelegatingActionProxy类 比较三种整合方式
编写一个注册的例子:
第十一章 Spring 与Hibernate的整合
Hibernate 介绍:
Hibernate的下载 和配置:下载Hibernate 配置Hibernate
编写一个Hibernate的简单的实例:
Hibernate的配置:
Hibernate的映射:集合映射 组件映射 关联映射 继承映射 Hibernate 的工具:
Hibernate的几个主要简介: Configuration (管理Hibernate) SessionFactory( 创建 Session) Session(提供Connection)
通过XML来整合Spring和Hibernate :
用Struts , Hibernate ,Spring 编写一个实例 :
第十二章 在Spring 中使用Ant
第十三章 在Spring 中使用Junit
第四部分 Spring实例
第十四章 用Spring实现新闻发布系统实例