spring xml配置方式 笔记

1、什么是spring

  spring框架是开源的、轻量级的企业级应用开发框架,目的在于减少了侵入;spring框架提供整体的解决方案,开发者可以选择使用spring提供的解决方案,也可以和第三方框架进行整合开发。

2、spring的本质是:管理软件中的对象,对象如何创建,以及维护对象之间的关系。

3、spring的核心:AOP和IOC(Inversion of control)。 即面向切面编程和控制反转。可以降低组件间的耦合度,即解耦,便于系统以后的维护。

IOC:的原理:指程序中的对象的获取方式发生了反转,以前通过new生成对象,现在由第三方框架创建(或注入)对象,第三方框架一般通过注入配置文件的方式来具体指定注入哪一个实现,从而降低了对象之间的耦合度,spring框架使用DI(Dependency Injection)的方式实现了IOC控制,既依赖注入。IOC是一种思想,而DI是实现这种思想的主要途径。

DI由两种注入方式,setter注入和构造器注入

4、spring容器的实例化(有两种方式)

4.1:加载系统文件进行实例化

String confi="c:\application.xml";//系统路径下的资源路径
ApplicationContext ac=new FileSystemXmlApplicationContext(confi);//加载配置文件获得spring上下文对象

4.2:加载类路径下的配置文件进行实例化

String confi="applicationContext.xml";//类路径下的文件
ApplicationContext ac=new ClassPathXmlApplicationContext(confi);

5、spring实例化bean有三种方法

比如有一个javabean对象person,在com.fonghuaxi下

import com.fonghuaxi;
public class Person{
 private String username;
 private String  password;
 private int age;
public static Person getInstance(){
  return new Person();
}
//提供getter 和setter方法
  ...
}

5.1:构造器进行实例化

<bean id="person" class="com.fonghuaxi.Person"></bean>//spring容器会调用Person的默认构造函数进行实例化,生成对象。

5.2:静态工厂进行实例化

<bean id="person1" class="com.fonghuaxi.Person" factory-method="getInstance"></bean>

5.3:实例方法进行实例化

<bean id="person1" class="com.fonghuaxi.Person"></bean>
<bea id="person2" factory-bean="person1" factory-method="getInstance"></bean>

6、bean的作用域


bean的作用域

singleton 在每一个spring IOC容器中,一个bean定义对应一个对象实例,默认项
prototype  一个bean定义对应多个实例
request   在一次http请求中,一个bean定义对应一个实例,仅在web环境下
session 在一个httpsession中,一个bean定义对应一个实例,仅在web环境下
globalSession 感兴趣的可以自己了解,使用和session差不多

7、bean的生命周期回调方法

  7.1 在bean上指定 init-method="init" 初始化回调

  7.2 在bean定义上指定 destroy-method="destory" 销毁bean的时候回调,仅在singleton下起作用

  7.3 在顶级beans上指定初始化回调 default-init-method="init"(为所有的bean指定初始化),指定 default-   destory-method="destory"(为所有bean指定销毁回调)。

8.bean的延迟实例化方法

  在bean上指定lazy-init="true"可以延迟bean的实例化,在顶级beans下指定default-lzay-init="true可以为所有的bean指定延迟初始化

9、spring Ioc的setter注入

例如:person类在com.fongzhongxi下

class Person{
private String username;
private String password;
setter 和getter方法//提供setter方法是为了容器能够自动注入相应的属性值
...
public Person(String username,password){
    this.username=username;
    this.password=password;
}
}

setter注入:

<bean id="person1" class="com.fongzhongxi.Person">
<property name="username" value="张三" />//注意name的属性username要和person中指定的属性username一致,否则不能注入
<property name="password" value="123"/>
</bean>

构造器注入:

<bean id="person2" class="com.fongzhongxi.Person">
<constructor-arg index="0" ref="person1"/>//注意ref引用setter的id为person1的属性进行注入
</bean>

10、spring ioc的自动装配

时间: 2024-10-20 05:12:17

spring xml配置方式 笔记的相关文章

Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析

Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析 本文简要介绍了基于 Spring 的 web project 的启动流程,详细分析了 Spring 框架将开发人员基于 XML 定义的 Bean 信息转换为 Spring 框架的 Bean Definition 对象的处理过程,向读者展示了 Spring 框架的奥妙之处,可以加深开发人员对 Spring 框架的理解. 0 评论: 秦 天杰, 软件工程师, IBM China 2013 年 9 月 02 日 内容 在 IBM

转载 - Struts2基于XML配置方式实现对action的所有方法进行输入校验

出处:http://www.cnblogs.com/Laupaul/archive/2012/03/15/2398360.html 使用基于XML配置方式实现输入校验时,Action也需要继承ActionSupport,并且提供校验文件,校验文件和action类放在同一个包下,文件的取名格式为:ActionClassName-validation.xml.ActionClassName为action的简单类名,-validation为固定写法.如果Action类为cn.validate.acti

spring xml配置

一个完整的spring xml配置:是把action,service,dao以及其它的资源性配置(如basedao)和公共性配置(如连接数据库)配置在resource.xml中,这样就有四个xml配置信息. 案例: 四个xml配置: applicationContext-action.xml: <?xml version="1.0" encoding="UTF-8"?><beansxmlns="http://www.springframe

hibernate 联合主键生成机制(组合主键XML配置方式)

hibernate 联合主键生成机制(组合主键XML配置方式) 如果数据库中用多个字段而不仅仅是一个字段作为主键,也就是联合主键,这个时候就可以使用hibernate提供的联合主键生成策略. 具体如下: 可以使用一个组件作为一个实体类的标识符.你的组件类必须满足以下要求: 它必须实现 java.io.Serializable 接口 它必须重新实现 equals() 和 hashCode() 方法,始终和组合关键字在数据库中的概念保持一致 注意:在 Hibernate3 中,第二个要求并非是 Hi

Struts2 之 Validation 拦截器 基于XML配置方式实现(验证框架)

基于XML配置方式实现输入校验 I:定义Action *  要继承ActionSupport或者实现Validateable接口: II:配置struts_validate.xml文件 *  验证出错转向的页面                struts.xml配置<result name=“input”>/validate/loginxml.jsp</result>                  其中input转向是在action中已经定义好的. III:配置验证的xml文件

Spring MVC 的 Java Config ( 非 XML ) 配置方式

索引: 开源Spring解决方案--lm.solution 参看代码 GitHub: solution/pom.xml web/pom.xml web.xml WebInitializer.java WebConfig.java RootConfig.java 一.引入必要类库 spring-context spring-context-support spring-webmvc:引入该包后,maven 会自动解析依赖,引入 spring-web 等包. 1.solution/pom.xml 1

Spring 基于xml配置方式的AOP

我们具体用代码来说明: 1.ArithmeticCalculator.java 1 package com.proc; 2 3 public interface ArithmeticCalculator { 4 int add(int i, int j); 5 int sub(int i, int j); 6 7 int mul(int i, int j); 8 int div(int i, int j); 9 } 2.ArithmeticCalculatorImpl.java 实现接口Arit

Spring XML配置文件结构

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" xmlns:context="http://www.springfram

SSH 框架整合(maven版本 xml配置方式)

如何整合Struts2 Hibernate 和Spring 首先你必须了解三个框架是如何独立运行的:代码下载:http://download.csdn.net/detail/zhanglinlang/9775160 Struts2 是通过在web.xml 中 Filter拦截器来启动自己的核心类StrutsPrepareAndExecuteFilter,完成事件的分发. Spring 是通过 在web.xml 注册监听器来监听ContextLoaderListener,监听web应用的启动事件来