`
阅读更多

Spring注入的方式有三种:
 <一>接口注入 --------通过实现一个接口来实现对依赖对象的注入   xml文件beans配置,对象用property设置。
 <二>set值注入--------通过写以来对象的set方法来实现注入  xml文件beans配置,对象用property设置。
 <三>构造子注入-------通过构造函数来对依赖对象进行注入  xml文件beans配置,对象用constructor-arg index=""  type=""设置。 String类型不能用type指定类型,不写就行了。数字类型一定要设值。 

bean的属性:
<一>id和name属性基本上是相等的,只是XML规定id属性不能带特殊字符。但是name没有特殊的规定,
   理论上讲一个bean只能有一个id。如果一个bean他有多id则可以认为是他的别名。

<二>class属性既表示bean的资源,是bean的实际路径。

<三>depends-on属性表示在初始化使用bean之前,强制执行一个或者多个bean的初始化。

<四>singleton用来标志bean是否是单态(单列)模式。

bean的生命周期:   定义->初始化->使用->销毁
 <一>定义---通过配置文件来定义

 <二>初始化----------1在配置文件中指定init-method属性增加init()方法完成,2实现initializingBean接口,增加方法   
   afterPropertiesSet()来实现。

 <三>使用(bean的三种管理)-----1--//HelloWorld hellworld = new HellWorld();
   Object obj = Class.forName("com.gc.action.HelloWorld").newInstance();
   BeanWrapper bw = new BeanWrapperImpl(hellworld);
   bw.setProertyValue("msg","HellWorld");
   System.out.println(bw.getPropertyValue("msg"));

     -----2------//InputStrean is = new FileInputStrean("config.xml");
   //ClassPathResource res = new ClassPathResource("config.xml");
   Resource rs = (Resource)new FileSystemResource("bean.xml");
   XmlBeanFactory factory = new XmlBeanFactory(is);
   HelloWorld helloworld = (HelloWorld)factory.getBean("HelloWorld");
   System.out.println(helllworld.getMsg());

     -----3------ApplicationContext atx = new FileSystemXmlApplicationContext("config.xml");
   HelloWorld helloworld = (HelloWorld)atx.getBean("HelloWorld");
   System.out.println(helloworld.getMsg());
   获取FactoryBean,在调用BeanFactory和ApplicationContext的getBean方法的时候,在传入的参数bean id前面加一个&符号,对于BeanFactory调用,getBean("myBean")将会返回FactoryBean的产品,而调用getBea("&myBean")将会返回这个实例的本身。


 <四>销毁------------1,通过在配置文件的destroy-method属性设置cleanup()来完成。2,实现DisposableBean接口增加destroy()方法。

ref属性指定依赖的三中模式:
 <一>用local属性指定----只能引用同一个XML文件中的bean,只能匹配id属性,如果在本文件找不到bean,解析器就会报错。

 <二>用bean属性指定-----这是最常见的一种形式,可以引用同一个XML和不同的XML文件的中bean,可以匹配id和name属性。

 <三>用parent属性来指定----允许引用当前BeanFactory或ApplicationContext的父BeanFactory或ApplicationContext中的bean,匹配       id和name属性。

bean自动装配的五的模式:
 <一>autowire=byName------通过bean属性的名字进行自动装配。

 <二>autowire=byType------通过属性匹配的类型进行装配。如果有多一个类型的bean就抛出异常。

 <三>autowire=constructor-----通过构造函数的参数进行装配。

 <四>autowire=autodelect-----通过对类的内部选择constructor和byType,先找到constructor就用constructor,没有用byName。

 <五>autowire=no--------这表示bean的装配不需要用自动装配。

bean的依赖检查的四种模式
 <一>dependency-check=simple----对简单的依赖对象进行检查。

 <二>dependency-check=object-----对所有的依赖对象进行检查

 <三>dependency-check=all------对所有的属性进行检查

 <四>dependency-check=none------不对任何依赖对象进行检查


bean的作用域
<一>singleton----在每个Spring IoC容器中一个bean定义对应一个对象实例。
 
<二prototype----一个bean定义对应多个对象实例。
 
<三>request----在一次HTTP请求中,一个bean定义对应一个实例;即每次HTTP请求将会有各自的bean实例,它们依据某个bean定义创建而成。该作用域仅在基于web的Spring ApplicationContext情形下有效。
 
<四>session----在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的Spring ApplicationContext情形下有效。
 
<五>global session----在一个全局的HTTP Session中,一个bean定义对应一个实例。典型情况下,仅在使用portlet context的时候有效。该作用域仅在基于web的Spring ApplicationContext情形下有效。

集合的注入方式      List--set--map--properties
 <一>list--------<property name="msg">
    <list>
     <value>asdf</value>...
    </list>
   </property>

 <二>set--------<property name="msg">
    <set>
     <value>asdf</value>...
    </set>
   </property>

 <三>map--------<property name="msg">
    <map key="aa">
     <entry><value></value></entry>
    </map>.....
   </property>

 <四>property---<property name="msg">
    <props>
     <prop key="fads">fdafdsf</prop>
    </props>.....
   </property>

ApplicationContext国际化的支持
 <一>Application加载时查找定义的messageRource。Spring约定这个bean必须定义这个。class=ResourceBundleMessageResource

 <二>国际化文件名后缀.properties 和.calss。native2ascii message.properties message.txt。

ApplicationContext三种资源访问
 <一>通过虚拟路径访问----Application atx = new FileSystemXmlApplicationContext("config.xml");
    Resource resource = atx.getResource("classpath:message.properties");
 <二>通过实际路径访问----Resource resource = atx.getResource("file:d:/workspace/WEB-INF/message.properties");
 <三>通过相对路径访问----Resource resource = atx.getResource("WEB-INF/src/message.properties");
 


ApplicationContext事件传递
 --------ApplicationContext中的事件处理是通过ApplicationEvent类和ApplicationListener接口来提供的。通过     ApplicationContextAware的pulishEvent()方法来通知ApplicationListener。

 

 

Spring的三种切入点(Pointcut)实现
 <一>静态切入点----不可以指定方法参数,能缓存----RegexpMethodPointcut----<property name="patterns">
       <list>
        <value>.*do.*</value>.*do.*,表示所有do开头的方法都是切入点。
       </list>
        </property>

 <二>动态切入点-------可以指定方法的参数,不能缓存,有很大的性能耗损。

 <三>自定义切入点-----AOP还没有完全成熟,Spring提供的文档在这方面也没有提供更详细的解释。

Spring的五种通知(advice)
 <一>Interception Around--------连接点(JointPoint)前后调用
 <二>Before---------------------连接点(JointPoint)前调用
 <三>After Returning------------连接点(JointPoint)后调用
 <四>Throw----------------------连接点(JointPoint)抛出异常调用
 <五>Introduction---------------连接点(JointPoint)调用完毕后调用

用ProxyFactoryBean创建AOP代理
 <一>使用ProxyFactoryBean代理目标类的所有方法和指定方法。
 <二>ProxyFactoryBean的proxyInterfaces属性是指明要代理的目标口 

<三>ProxyFactoryBean的target属性指明代理的目标类,这个目标实现了上面的proxyInterfaces属性指定的接口。
 <四>ProxyFactoryBean的interceptorNames属性指明要在代理的目标类中插入的通知(advice)。
 <五>proxyFactoryBean的proxyTargetClass属性设定为true,说明proxyFactoryBean代理的不是接口类,而是CGLIB方式进行代理。

正则表示式的介绍
 <一>.---表示用来匹配任何一个字符。
 <二>[]---只有[]里指定的字符才能匹配。
 <三>*----表示匹配次数,为任意次。
 <四>?----可以匹配零次和一次。
 <五>\----是正则表达式的连接符。

Spring中AOP的两种代理方式
 <一>java动态代理
 <二>CGLIB代理

分享到:
评论

相关推荐

    spring基础

    Spring 基础 Spring 框架是 Java 语言中最流行的框架之一,广泛应用于企业级应用程序的开发。它提供了一站式的解决方案,能够解决对象创建、依赖关系、事务管理、持久层等问题。下面是 Spring 框架的主要概念和组件...

    Spring基础培训ppt

    这个“Spring基础培训PPT”应该会涵盖Spring的基本概念、核心模块以及如何在实际项目中应用。 **依赖注入** 依赖注入是Spring的核心之一,它允许开发者在运行时通过容器来管理对象之间的依赖关系,而不是在代码...

    spring基础jar包.zip

    本文将深入探讨"spring基础jar包.zip"中的关键知识点,并解析这些jar包在Spring框架中的作用。 首先,我们要明确的是,"spring基础jar包.zip"主要是为了快速搭建Spring框架环境而准备的,其中包含了一系列Spring的...

    Spring基础教程.pdf

    Spring 基础教程.pdf Spring 是一个流行的 Java 框架,用于开发企业级应用程序。该框架提供了一个灵活的方式来开发基于 Java 的应用程序,涵盖了从简单到复杂的各种应用场景。本教程旨在指导读者快速入门 Spring ...

    spring基础开发的jar包

    这个"spring基础开发的jar包"是专门为Spring Web开发准备的,包含了一系列核心组件和依赖,使得开发者可以快速搭建一个功能完备的Spring MVC应用程序。在本文中,我们将深入探讨这些jar包中的关键知识点。 1. **...

    Spring基础jar包.rar

    本压缩包"Spring基础jar包.rar"包含了Spring框架核心组件的重要部分,具体包括以下几个关键的jar包: 1. **Spring-beans.jar**:这个jar包包含了Spring框架的核心组件,负责Bean的生命周期管理,如实例化、配置、...

    Spring基础知识汇总 Java开发必看

    Spring基础知识汇总 Java开发必看

    spring基础教程 spring基础教程

    总结:Spring基础教程将引导你深入了解这个框架的各项功能,从容器管理到AOP,再到Web开发和安全性。通过学习,你可以掌握如何利用Spring提升代码的灵活性和可维护性,以及如何构建健壮的Java企业级应用。阅读...

    Spring 基础jar包

    Spring的基础jar包包含了运行Spring应用程序所需的核心组件,使得开发者能够快速搭建Spring环境并开始使用其基本功能。下面我们将深入探讨Spring框架的一些核心知识点。 1. **依赖注入(Dependency Injection, DI)...

    java Spring基础教程

    Java Spring 是一个开源框架,主要用于简化企业级Java应用的开发。Spring框架以其模块化、松耦合和依赖...阅读《Spring基础教程.pdf》将引导你逐步走进Spring的世界,理解并运用这些核心概念,提升你的Java开发技能。

    Spring基础篇.pdf

    Spring框架是一个全面的Java...总结来说,Spring框架通过其模块化的设计和丰富的功能提供了强大的基础设施,使得Java企业级应用开发更加高效和简洁。同时,它以POJO为基础的编程模型,促进了良好的编程习惯和测试能力。

    Spring基础学习资料,很全面,很经典,手工整理,适合刚学习spring的同学

    这份“Spring基础学习资料”涵盖了Spring框架的基础知识,特别适合初学者系统地学习和掌握。 1. **Spring入门学习前导篇**: 在开始Spring的学习之前,了解Spring的基本概念和历史背景是必要的。Spring框架起源于...

    Spring基础教程.rar

    本教程的"Spring基础教程.pdf"文件将详细讲解上述概念,并通过实例演示如何使用Spring框架。你将学习到如何配置Spring容器,创建和管理Bean,理解AOP的原理,以及如何使用Spring MVC构建Web应用。同时,教程可能还会...

    spring基础进阶技巧200篇.zip

    《Spring基础进阶技巧200篇》是一本关于Spring框架的资源,它提供了200篇文章,涵盖了Spring框架的基础知识和进阶技巧。这本资源可以帮助开发人员更好地理解和应用Spring框架,提升开发效率和代码质量。 该资源主要...

    《spring基础教程》

    总的来说,《Spring基础教程》将涵盖以上这些核心概念,并通过实例教你如何在实际项目中使用Spring框架。无论你是初学者还是有一定经验的开发者,都可以从这个教程中获益,提升你的Spring开发技能。通过阅读"Spring...

    spring 基础教程精华集

    此外,`spring基础.pdf` 和 `spring控制模型.pdf` 可能会涵盖Spring的其他基础内容,如Bean的生命周期、事件监听、国际化支持等。`Spring3_权威开发指南.pdf` 则提供了更全面的Spring 3.x版本的开发指导。 对于初学...

    spring基础功能分享ppt课件.ppt

    Spring基础功能分享 Spring是一个非常优秀的开源产品,它提供了广泛的内容和深入的功能模块,包括核心容器、Application Context、AOP模块、JDBC抽象及DAO模块、ORM映射集成模块、Spring MVC框架、Spring Portlet ...

    Spring基础教程.pdf.zip

    《Spring基础教程》是一本深度剖析Spring框架的入门指南,旨在帮助初学者和有经验的开发者更好地理解和应用Spring。在本教程中,我们将探讨Spring的核心概念、主要特性以及如何将其集成到实际项目中。 首先,Spring...

    Spring基础的思维导图版+附带PDF版

    这个资源包含的是一个Spring基础的思维导图和PDF版,可以帮助学习者更直观、系统地理解Spring的核心概念。 首先,我们从"Spring AOP"开始。AOP(Aspect-Oriented Programming)是面向切面编程,它允许程序员定义...

    spring基础教程.rar

    至于具体的学习资源,本压缩包“Spring基础教程”可能包含一系列PDF文档、视频课程或代码示例,它们将逐步引导你了解并掌握Spring的基本用法,包括环境搭建、基本配置、Bean的创建与管理、AOP的实现、Spring MVC的...

Global site tag (gtag.js) - Google Analytics