【Spring】【笔记】《Spring In Action》第一章 读书笔记

1.1 简化Java开发
Bean:
     虽然spring使用Bean或者JavaBean来表示应用组件,但这并不意味着Spring组件必须遵循JavaBean规范。一个Spring组件可以是任何形式的POJO

依赖注入:
     好处:松耦合
     核心: 把接口作为参数注入,可以使类作用域该接口的任何实现类上
     ref所接受的“bean”相当于传入的参数,相当于接口,因此在bean定义时的class属性可以是实现类


1.2 Bean容器
应用上下文
ClassPathXmlApplicationContext
     从类路径下的XML配置文件中加载上下文定义,把应用上下文定义文件当做类资源
FileSystemXmlApplicationContext
     读取文件系统下的XML配置文件并加载上下文定义
XmlWebApplicationContext
     
BeanFactory加载bean的过程:( Bean的生命周期
  1. Spring对Bean进行实例化
  2. Spring将值和Bean的引用注入进Bean的属性
  3. 如果实现了BeanNameAware,将Bean的ID传递给setBeanName()接口方法
  4. 如果实现了BeanFactoryAware,调用setBeanFactory方法,将BeanFactory容器实例传入
  5. 如果实现了ApplicationContextAware,调用setApplicationContext()方法,引入上下文
  6. 如果实现了BeanPostProcessor,调用postProcessBeforeInitialization()方法
  7. 如果实现了Ini调理子能够Bean,调用afterPropertiesSet(),如果使用init-method声明了初始化方法,调用该方法
  8. 如果Bean实现了BeanPostProcessor,调用postProcessAfterInitialization()方法
  9. Bean准备就绪,可以被使用,驻留于应用上下文,直到该应用上下文被销毁
  10. 如果实现了DisposableBean接口,调用destroy()方法,如果bean使用destroy-method声明了销毁方法,调用该方法


1.3 Spring构成
1.3.1 Spring模块
     spring的6大模块:
  • Data access&integration:Transaction,JDBC,OXM,ORM,JMS
  • Web and remoting:Web,Servlet,Portlet,struts
  • AOP : AOP,Aspects
  • Instrumentation : Instrument,Instrument,Tomcat
  • Core Spring container : Beans,Core,Context,Expression,Context support
  • Testing:test

1.3.2 Spring Portfolio
  • Spring Web Flow:基于流程的绘画式web应用
  • Spring Web Service:提供契约优先的webservice模型
  • Spring Security
  • Spring Integration:企业级应用交互
  • Spring Batch:批处理应用
  • Spring Social:社交网络扩展
  • Spring Mobile:移动文本应用开发
  • Spring Dynamic Modules :OSGi,现称为Gemini Blueprint
  • Spring LDAP:基于模板的LDAP访问
  • Spring Rich Client:富应用工具箱,swing
  • Spring .Net:面向.Net
  • Spring Flex:开发Flex应用(Adobe)
  • Spring Roo:提供快速开发Spring应用的交互式环境
  • Spring Extensions:社区驱动的Spring扩展项目

1.4 Spring新功能
1.4.1 Spring2.5新特性
     2007年11月
     *引入注解
  1. 使用@Autowired实现基于注解驱动的依赖注入,使用@Qualifier实现细粒度的自动装配
  2. 支持JSR-250注解,支持命名资源依赖注入的@Resource对生命周期方法支持的@PostConstruct和@PreDestroy
  3. 自动扫描使用@Component注解所标注的Spring组件
  4. 全新的基于注解驱动的Spring MVC编程模型
  5. 基于JUnit 4和注解的一个新的集成测试框架
    其他:
  • 支持Java 6 、JavaEE 5,涵盖JDBC4.0、JTA1.1、JavaMail1.4、JAX-WS2.0
  • 通过Bean名字来编织切面的新的Bean命名切入点表达式
  • 新的XML命名空间:配置应用上下文细节的context、配置消息驱动Bean的jms
  • 支持在SqlJdbcTemplate中使用命名参数

1.4.2 Spring3.0新特性
  1. Spring MVC全面支持Rest、REST风格
  2. 新的表达式语言
  3. SpringMVC新注解@CookieValue、@RequestHeader
  4. 一个新的XML命名空间
  5. 支持基于JSR-302注解的声明式校验
  6. 支持新的JSR-330依赖注入规范
  7. 通过注解驱动声明异步和调度方法
  8. 一个新的注解驱动的配置模型
  9. Spring Web Service项目的OXM功能已被迁移到Spring框架核心
     *Spring 3.0要求Java 5以上,不再支持Java1.4

1.4.3 Spring Portfollo新特性
  • Spring Web Flow 2.0
  • Spring JavaScript、Spring Facesitting
  • Acegi Security,作为Spring Security2.0正式发布



第一章总结:
Spring的目的:简化企业级Java开发,促进代码松散耦合
实现方式:依赖注入,AOP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值