基础

1、xml文件基础格式:

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>

2、初始化容器方法:

  • 文件的绝对路径:
        FileSystemXmlApplicationContext context1=new FileSystemXmlApplicationContext("C:/configuration.xml")
  • Classpath加载

        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("configuration.xml");

IOC

1、Bean注入的2种方式:

  • set方法注入:通过set方法进行注入。
    <bean id="helloSpring" class="service.HelloSpringImpl">
<property name="daoImpl" ref="daoImpl"></property>
</bean>
<bean id="daoImpl" class="DAO.DAOImpl" ></bean>
  • 构造方法注入:通过构造方法进行注入
    <bean id="helloSpring" class="service.HelloSpringImpl">
<constructor-arg name="daoImpl" ref="daoImpl"></constructor-arg>
</bean>
<bean id="daoImpl" class="DAO.DAOImpl" ></bean>

Bean的XML装配

1、Bean的作用域

  • singleton:单例模式
  • prototype:原型模式
  • request:当前request内有效
  • session:当前session内有效
  • global session:当前global session内有效

2、Bean初始化和销毁方法

初始化方法:

  • 实现InitializingBean接口,重写afterPropertiesSet()方法
  • 在xml文件中,bean定义的地方指定init-method

销毁方法:

  • 实现DisposableBean接口,重写destroy()方法
  • 在xml文件中,bean定义的地方指定destroy-method

全局初始化和销毁:

通过default-init-methoddefault-destroy-method关键字进行指定。

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"
default-init-method="functionInit" default-destroy-method="functionDestroy">

3、Aware

如果类实现了ApplicationContextAware接口,则需要重写接口中的setApplicationContext方法,在IOC容器进行初始化之后,会自动调用setApplicationContext方法。setApplicationContext方法的参数就是IOC容器对象本身。

如果类实现了BeanNameAware接口,则需要重写接口中的setBeanName方法,在Bean实例化的时候,会自动调用setBeanName方法。

还有其他的Aware接口:

  • BeanFactoryAware:获得当前bean Factory,从而调用容器的服务
  • MessageSourceAware:得到message source从而得到文本信息
  • ApplicationEventPublisherAware:应用时间发布器,用于发布事件
  • ResourceLoaderAware:获取资源加载器,可以获得外部资源文件

4、Bean的自动装配(4种类型)

在xml文件中,通过default-autowire字段进行指定装配模式。而不需要在bean中使用property或者constructor-arg

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"
default-autowire="byName">
  • No:不做动作
  • byName:根据类的成员的名称,从容器中进行匹配并装配。需要set函数支持。
  • byType:根据类的成员的类型,从容器中进行匹配并装配。需要set函数支持。如果存在多个同类型对象,则抛出异常。
  • Constructor:根据类的成员的类型,从容器中进行匹配并装配。需要构造函数支持。

5、Resources:实现对底层资源的访问

Spring内置6种Resource类型:UrlResource,ClassPathResource,FileSystemResource,ServletContextResource,InputStreamResource,ByteArrayResource

  • UrlResource:URL对应的资源
  • ClassPathResource:类路径下的资源
  • FileSystemResource:文件系统资源
  • ServletContextResource:ServletContext对应资源
  • InputStreamResource:输入流资源
  • ByteArrayResource:字节数组资源

8、ResourceLoader接口:资源加载器

ResourceLoader是一个用于资源加载的接口。Spring中的ApplicationContext实现了ResourceLoader接口,所以可以通过ApplicationContext进行实际资源的加载。

加载方式有4种:

  • classpath前缀:从classpath中获取对应的资源文件
  • file前缀:从文件系统中获取对应的资源文件,需要绝对路径
  • http前缀:从网络中获取对应的资源文件
  • 无前缀:从ApplicationContext所在目录中获取对应的资源文件

Spring基础使用(一)--------IOC、Bean的XML方式装配的更多相关文章

  1. Spring基础篇——通过Java注解和XML配置装配bean(转载)

      作者:陈本布衣 出处:http://www.cnblogs.com/chenbenbuyi 本文版权归作者和博客园共有,欢迎转载分享,但必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留 ...

  2. Spring基础篇——通过Java注解和XML配置装配bean

    自动化装配的确有很大的便利性,但是却并不能适用在所有的应用场景,比如需要装配的组件类不是由自己的应用程序维护,而是引用了第三方的类库,这个时候自动装配便无法实现,Spring对此也提供了相应的解决方案 ...

  3. Spring总结四:IOC和DI 注解方式

    首先我们要了解注解和xml配置的区别: 作用一样,但是注解写在Bean的上方来代替我们之前在xml文件中所做的bean配置,也就是说我们使用了注解的方式,就不用再xml里面进行配置了,相对来说注解方式 ...

  4. Spring声明式事务管理(基于XML方式实现)

    --------------------siwuxie095                             Spring 声明式事务管理(基于 XML 方式实现)         以转账为例 ...

  5. Spring 的IOC容器之XML方式

    1. Spring 入门 1.1 概述 Spring 是一个分层的 JavaEE 轻量级开源框架; Spring 的核心是控制反转(IOC)和面向切面(AOP); 1.2 特点 方便解耦,简化开发; ...

  6. IoC容器-Bean管理XML方式(自动装配)

    IoC操作Bean管理(XML自动装配) 1,什么是自动装配 (1)根据指定装配规则(属性名称或者属性类型),Spring自动将匹配的属性值进行注入 2,演示自动装配过程 (1)根据属性名称自动注入 ...

  7. IoC容器-Bean管理XML方式(创建对象和set注入属性,有参构造注入属性)

    Ioc操作Bean管理 1,什么是Bean管理 (0)Bean管理指的是两个操作 (1)Spring创建对象 (2)Spring注入属性 2,Bean管理操作有两种方式 (1)基于xml配置文件方式实 ...

  8. IOC装配Bean(XML方式)

    Spring框架Bean实例化的方式 提供了三种方式实例化Bean 构造方法实例化(默认无参数,用的最多) 静态工厂实例化 实例工厂实例化 无参数构造方法的实例化 <!-- 默认情况下使用的就是 ...

  9. Spring学习笔记(二)Spring基础AOP、IOC

    Spring AOP 1. 代理模式 1.1. 静态代理 程序中经常需要为某些动作或事件作下记录,以便在事后检测或作为排错的依据,先看一个简单的例子: import java.util.logging ...

随机推荐

  1. javaIO--字节流

    流---是指的一组有序的.有气垫和重点的字节集合,是对的护具传输的总称或者抽象. 流采用缓冲区技术,当写一个数据时,系统将数据发送到缓冲区而不是外部设备(如硬盘),当读一个数据时,系统实际是从缓冲区读 ...

  2. YaoLingJump开发者日志(五)V1.0版本完成

    跳跃吧瑶玲下载连接 官网下载 百度网盘下载 提取码:apx9 介绍   总算完成V1.0版本了,下面来简单地介绍一下吧!   打开游戏,最开始会进入到"主界面".   右上角的按钮 ...

  3. 将sublime添加到右键菜单

    sublime text 添加到鼠标右键功能: 把以下内容复制并保存到文件,重命名为:sublime_addright.reg,然后双击就可以了. (注意:需要把下面代码中的Sublime的安装目录( ...

  4. 关于c中的一些新函数

    localtime 和 localtime_s: localtime:localtime(const time_t * _Time) time_t t;struct tm *local;time(&a ...

  5. Java 8中 基本数据类型

    1)四种整数类型(byte.short.int.long):    byte:8 位,用于表示最小数据单位,如文件中数据,-128~127    short:16 位,很少用,-32768 ~ 327 ...

  6. C#中的反射和扩展方法的运用

    前段时间做了一个练手的小项目,采用的是三层架构,也就是Models,IDAL,DAL,BLL 和 Web , 在DAL层中各个类中有一个方法比较常用,那就是 RowToClass ,顾名思义,也就是将 ...

  7. File文件以及.propertites文件操作

    File文件操作 在jsp和class文件中调用的相对路径不同.在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用Syste ...

  8. Android Camera多屏幕适配解决预览照片拉伸

    通常,拍照预览页面的照片拉伸主要与下面两个因素有关: 1.     Surfaceview的大小 2.     Camera中的Preview的大小 如下图:     图中preview显示的是手机支 ...

  9. 第25天:js-封装函数-淘宝鼠标展示

    封装函数: 1.函数形参相当于变量,不能加引号. 2.实参要和形参一一对应. 案例:鼠标移到小图上,背景展示相应放大的图片.代码如下: <!DOCTYPE html> <html l ...

  10. 调用init方法 两种方式 一个是浏览器方法 一个是 xml中手工配置(load-on-startup)

    调用init方法 两种方式 一个是浏览器方法 一个是 xml中手工配置(load-on-startup)