Spring初级学习!!!
来源:互联网 发布:centos 7 更改ftp目录 编辑:程序博客网 时间:2024/06/01 22:35
一、核心容器
(1)Core和beans模块:这两个模块提供例如框架的基础功能部分,包括IOC和依赖注入的特性
(2).Context模型:该模块建立在Core和beans模型之上:通过它可以访问被框架管理的对象
(3).Expression Lanuage(表达式语言):该模块提供了一个强大的表达式语言来查询和处理对象,在运行的时候,它是同一表达式的扩展
二、数据访问/集成
(1).JDBC
(2).ORM
(3).OXM
(4)JMS:该模块包含了产生好人消费消息放入功能
(5).Transactions:事务模块提供了程序化和声明性的事务管理,这个功能可以为所有的类和POJO使用。
三、Web
(1).web
(2).Servlet
(3).Portlet
(4).Struts
四、AOP框架
AOP联盟是一个开源项目,它的目标是通过定义一组共同的接口和组件来促进AOP的使用以及不同的AOP实现之间的互用性。
五、Test
该模块支持测试Spring的组件,通过使用JUnit和TestNG提供了同步装载SpringApplicationContexts和缓冲这些上下文环境,它也提供了Mock对象,这些对象可以用来独立测试代码。
工厂模式
工厂模式根据调用数据返回某个类的一个实例,此类可能是多个类的某一个类,通常,这些类满足共同的规则(接口)或者父类。调用者只关心工厂生产的实例 是否满足某种规范,即实现了某个接口;是否可供自己正常调用,三个角色(1).Creator:工厂类角色,工厂模式的核心,含有与应用紧密相关的商业逻辑,工厂类在客户端的直接调用下创建产品对象,往往有一个具体类实现。(2).Product:又称做抽象产品角色,担任这个角色的类是有工厂模式所创建的对象的父类,或者它们公共拥有的接口(3).Concrete Product角色:又称为具体产品角色。工厂模式所创建的任何对象都是这个角色的实例,具体产品角色有一个具体的java类实现
控制反转(IoC)
实现方式:(1).依赖查找:容器提供回调接口和上下文环境给组件
(2).依赖注入:组件不做定位注入,只是提供普通的Java方法让容器去决定依赖关系
①.接口注入; ②.设值注入;③.构造注入
设值注入必须满足的要求:
1).Bean类必须提供一个默认的构造方法
2).Bean类必须为需要注入的类提供对应的setXxx()方法
构造注入:通过构造方法来完成依赖注入,传的各个参数都是受管Bean依赖的对象
几种方式:
1).按类型匹配入参:通过constructor-arg标签的type属性参数类型,为String提供了判断配置项的构造方法
2).按索引匹配入参:当不确定参数类型而确定参数个数时,则可以使用入参索引的方式进行匹配,如:
<bean id="anmial class="com.mxl.models.Animal"> <constructor-arg index="0"><value>Dog</value></constructor-arg> <constructor-arg index="1"><value>3</value></constructor-arg></bean>
3).联合使用类型和索引匹配:在指定参数类型的同时,也指定参数的索引值
装配Bean
BeanFactory:是一个通用放入工厂,可以创建和管理各种类的对象。它实际上是实例化,配置和管理众多Bean的容器主要方法是getBean(String beanName),用来返回特定名称的Bean,其他接口;
(1).ListableBeanFactory:该接口定义了访问容器中的Bean基本信息的若干方法
(2).ConfigurableBeanFactory:一个重要的接口,增强了IoC容器的可定制性,它定义了设置类装载器。属性编辑器以及容器初始化后置处理器的方法。
(3).HierarchicalBeanFactory:父子级联IoC接口,子容器可通过接口访问父容器
(4).AutowireCapableBeanFactory:定义了将容器中的Bean按照某种规则进行自动装配的方法。
(5).SingletonBeanRegistry:定义了允许在运行期间向容器注册单实例Bean的方法
(6).beanDefinitionRegistry:向容器提供手工注册BeanDefinition对象的方法
从文件系统资源实例化BeanFactory
使用这种方式时,配置文件beans.xml的位置可以不固定
如:
Spring会自动在项目根目录查找
Resource res = new FileSystemResource("beans.xml");//由beans.xml生成Resource实例BeanFactory factory = new XmlBeanFactory(res);//生成BeanFactory实例如果不在根目录(假如在src目录)Resource res = new FileSystemResource("src/beans.xml");//由beans.xml生成Resource实例如果存储在应用以外(如:E 盘)Resource res = new FileSystemResource("E:\\beans.xml");
从CLASSPATH下的资源实例化BeanFactory
使用这种方法,配置文件的存储位置相对是固定的,例如:beans2.xml存储在项目的classpath根目录下(项目名称/src/beans2.xml)
Resource resClspath = new ClassPathResource("beans2.xml");BeanFactory factory = new XmlBeanFactory(resClspath );//如果存储在classpath下的mxl目录下Resource resClspath = new ClassPathResource("mxl\\beans2.xml"); 注意:Myeclipse在运行过程中,会自动把src目录下的beans2.xml文件复制到项目的WEB-INF/classes目录下;对于第二种方式;则会复制到WEB-INF/classes/mxl下
Resource
用来装载各种资源,包括配置文件资源,国际化属性文件资源等,其具体实现类有:
(1).ByteArrayResource:二进制数组表示的资源,可以在内存中通过程序构造
(2).ClassPathResource:类路径下的资源,资源相对于类路径的方式表示;
(3).FileSystemResource:文件系统资源,资源文件系统路径的方式表示;
(4).InputStreamResource:以输入流返回表示的资源;
(5).ServletContextResource:访问Web容器上下文中资源而设计的类,负责从web应用跟目录中加载资源
(6).URLResource:封装了java.netURL,使用户能够访问任何可以通过URL表示的资源
使用ApplicationContext从classpath下的xml文件实例化Bean
ApplicationContext appContext = new ClassPathXMLApplicationContext("beans2.xml"); BeanFactory factor = (BeanFactory)appContext;//直接生成类工厂实例
- Spring初级学习!!!
- Spring初级知识学习(1)
- Spring初级知识学习(2)
- spring boot学习 初级入门
- Spring--初级
- Spring学习记录一(SpringIOC容器初级)
- 三大框架之Spring (初级学习 1)
- 三大框架之Spring (初级学习 2)
- spring初级应用
- Spring Bean 初级装配
- spring mvc 配置 初级
- spring quartz 初级配置
- Spring 4初级 2
- spring,初级入门
- 初级学Spring MVC
- spring mvc 之初级版
- Spring 之IOC容器(初级)
- spring-data-elasticsearch 初级使用
- 1094. The Largest Generation
- 1-INTRODUCTION
- python2.7+opencv3.1 打开摄像头
- 367. Valid Perfect Square
- MYSQL索引:对聚簇索引和非聚簇索引的认识
- Spring初级学习!!!
- System V和Posix消息队列的差别
- Spark DataFrame中的join类型
- Devstack 多节点自动化部署
- GSON的使用介绍
- APP开发实战97-Android异常处理
- TI 实时操作系统SYS/BIOS使用总结
- 发送短信
- NYOJ 24 素数距离问题