Spring学习笔记

第一部分:Spring架构的分析。  两个核心概念:IoC、AOP。  IoC:实际上依靠工厂模式,实现控制反转。  html

步骤:读取配置文件,利用Java反射机制,生成对象,将对象返回给调用者。  前端

了解两个类:BeanFactory和ApplictionContext    java

Spring源码结构的解读:用Ant生成Spring相关包,文档等。   CVS下载Spring源码。安装Spring。    spring

Ioc详解:  Bean的生命周期:定义、初始化、使用、销毁。  Bean的初始化。express

经过AutoWrite、dependency-check、Setter方法、setBeabFactory、   经过配置初始化前、后方法等。编程

Bean建立的方式有:单例建立,原型建立。Spring只能管理单例建立的Bean。    安全

propertyConfigurer、ProertyOverrideConfiger 配置其它须要加入到Spring里的文件。  服务器

初始化spring的方法:ClassPathXmlApplicationContext  网络

BeanFactoryAware与BeanNameAware ApplicationContextAware  Spring属性编辑器。事件监听器。    架构

BeanFactory提供管理和操做Bean的功能。  

ApplictionContext继承了BeanFactory类,因此提供比BeanFactory更强大的功能。  在整合Web项目时候,ctx能够自动初始化。能够经过ContextLoaderListener或ContextLoaderServlet实现自 动加载。  

AOP详解:  核心关注点,横切关注点,建议,切入点,织入。OOP编程与AOP编程。提供系统级的服务。与具体业务关系不大。  经常使用于系统级服务,好比:日志、事务、权限等。  

使用AOP编程的步骤:先抽象出横切面,即次要业务,再用一个建议者(advice)管理横面,  定义须要使用横切功能的点(pointcut),把切面织入(weave)进去。方式有前,后,中等。  

<tx:advice id="txAdvice" transaction-manager="reportTransactionManager">     

  <tx:attributes>        

    <tx:method name="*" rollback-for="Exception"/>     

  </tx:attributes>  

</tx:advice>  

<aop:config>   

  <aop:pointcut id="txOperation"  expression="@annotation(org.springframework.transaction.annotation.Transactional)" />     

   <aop:advisor advice-ref="txAdvice" pointcut-ref="txOperation"/>        

</aop:config>    

Spring架构模块:AOP、IOC、ORM、DAO、Spring Web、Spring上下文、Spring MVC

 

第二部分:Spring应用开发。   

1.JNDI(Java Naming and Directory Interface):java命名目录服务。

通常用于数据源配置。   使用JNDI经常使用的三个类:AbstractJndiLocator JndiObjectFactoryBean JndiObjectTargetSource   建议直接使用JndiObjectFactoryBean这种形式,它是用于产品部署场合。而JndiObjectTargetSource用于产品 开发场合。   JndiTemplate类,用于改造操做。方便使用。    

2.JTA(Java Transaction API):Java事务API.   platformTransactionManager:Spring的事务管理中,这是最基本的接口。  

已经实现上面接口的经常使用事务管理器:JDBC事务、JTA事务、Hibernate事务、JDO事务、OJB事务、JMS事务。   

TransactionDefinition:事务的属性定义。   7种事务移植策略[事务的传播属性]:    PROPAGATION_REQUIRED(若是已在事务中,则使用原来的,不然新开一个事务)     PROPAGATION_SUPPORTS(若有事务,则以事务的形式运行,如没有事务,则以非事务的形式运行)     PROPAGATION_MANDATORY(必须在一个事务中运行)     PROPAGATION_REQUIRES_NEW(在新事务中运行,即每次启动一个事务)     PROPAGATION_NOT_SUPPORTED(不能运行在事务中,若是有事务,则客户事务挂起)     PROPAGATION_NEVER(不能运行在事务中,不然抛异常)     PROPAGATION_NESTED(支持嵌套式事务)   TransactionTemplate事务模板的使用。[在编程式事务管理里,可使用]    

3.JMS(Java Message Service):Java消息服务。   

JmsTemplate的使用:配置相关的xml,主要有目的地的配置 template的配置   JmsTemplate与MessageCreator结合使用,完成消息的发送工做。   详细了解消息的发送与接收原理。Bean转换功能的实现。    

4.JavaMail:Java邮件服务。   MailSender接口的两个实现类:CosMailSenderImpl、JavaMailSenderImpl   CosMailSenderImpl用于通常邮件的发送,在配置文件里配置CosMailSenderImpl和SimpleMailMessage 信息。   JavaMailSenderImpl用于发送复杂的邮件,配置JavaMailSenderImpl 用MimeMessagePreparator的回调方法,实现邮件发送。    

5.EJB(Enterprise JavaBean):企业级Bean。Spring对无状态会话Bean有很好的支持。   几种Bean 无状态、有状态、JMSBean(消息驱动Bean)等。主要了解Spring对AbstractStatelessSessionBean的支持。     

6.持久化服务:DAO ORM JDBC   了解JdbcDaoSupport HibernateDaoSupport JdoDaoSupport的使用。它们都继承了DaoSupport。   具体的使用通常是用它们的模板类:JdbcTemplate/HibernateTemplate/JdoTemplate类进行数据操做。   以JdbcTemplate的使用为例子,说明其应用的基本思路:   1.配置数据源,把数据关联到JdbcTemplate上,只需关联一次,便可知足全部的要使用的JdbcTemplate。    [扩展知识点:Spring配置数据源的方式 dbcp BoneCP c3p0]   2.JDBC事务的管理:DataSourceTransactionManager   3.Spring与Hibernate的集成。了解关系型数据与JavaBean对象的映射。     

7.任务调度服务:Queatz Timer Spring集成了上面两种定义任务调度服务。   一个是开源社区里的项目,一个是Java2版本里提供的任务调度器。   Queatz与Spring集成要了解的几个经常使用类:QueatzJobBean JobDetailBean SimpleTriggerBean等。   重点看MethodInvokingJobDetailFactoryBean   Timer与上面的那个相似。它是Java原本就带有的类。不用从新学习新的一套类库。   基本使用:Spring经过配置文件,定义任务执行的时间点与周期,咱们只须要开要执行的任务类便可。   

8.远程服务:支持RMI、Hessian、Burlap、HTTP Invoker、Web服务(JAX-RPC)、企业Bean。   补充知识点:远程服务调用,参数的传递,一般参数类序列化,以便能在客户端与服务器端进行交互。   RMI(Remote Method Invocation):JDK自己提供的用于支持分布式开发的技术。在网络受限制的状况不适用。   Hession与Burlap:因为上述的技术,服务器端与客户端都要用Java语言编写,而且它们之间不能有防火墙,    正是这些缘由,出现了这两种技术。要用到第三方的序列化机制。   HTTP Invoker:集合了上面三种技术的优势。JDK自己提供的序列化机制。支持在网络受限的状况使用。   

 

第三部分:Spring高级应用。     

1.视图技术集成:Struts、Spring MVC、Tapestry、JSF等。    Spring MVC DispatherServlet前端控制器,用于请求分发。    处理流程:     DispatherServlet接收http请求,分发给相应用Control,Control转换请求信息,处理请求,     返回ModelAndView 解释 返回到视图。       

Tapestry与Spring集成:Tapestry是基于组件、事件的OO编写Web视图层的框架。     几个概念:Visit Engine HttpSession Page和组件模板。。     Tapestry由三部分组成:HTML模板,页面规范文件,Java文件。         

JSF(JavaServer Faces):基于Web前端标准而开发的一个框架。       

2.Spring安全框架:Acegi 与事务管理同样,都是声明式管理,原理相同,都是抽象出切面单独进行开发。    

 

原文来自:http://www.cnblogs.com/lils/p/3723480.html

相关文章
相关标签/搜索