软件开发专业网

15837636235

地址:无锡国家软件园
网 址:www.javaandc.com
邮 箱:renaide#126.com
手  机:15837636235
邮  编:100000
传 真:15837636235

java技术 > Spring核心基础

Spring核心基础
发布时间:2014-11-16 新闻来源:软件开发专业网 浏览次数:892000

   1、Spring


  a、what

  轻量级、优秀、开源的Java框架

  IOC \ Aop

  IOC : 控制反转 优点:降低耦合

  整合其他框架:

  Struts2、Hibernate、MyBatis

  b、how

  a、导入若干jar包

  b、applicationContext.xml(spring容器配置文件)

  配置了基本的bean,一般会放在src下面(ClassPath)

  c、程序中使用spring容器

  ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");

  2、配置spring bean

  a、bean : 在spring中所有的Java类都可以成为bean

  b、创建bean对象

  1、通过构造函数创建bean对象(基本)

  <bean id="" class=""></bean>

  2、通过静态工厂创建

  Java操作:

  Calendar calendar = Calendar.getInstance();

  Spring操作

  语法 :<bean id="" class="" factory-method=""></bean>

  <bean id="calendar" class="java.util.Calendar" factory-method="getInstance"></bean>

  3、通过工厂对象创建bean

  Calendar c = Calendar.getInstance();

  Data d = c.getTime();

  spring操作

  语法 :

  <bean id="" class="" factory-bean="" factory-method="" ></bean>

  eg:

  <bean id="calendar" class="java.util.Calendar" factory-method="getInstance"></bean>

  <bean id="date" class="java.util.Date"

  factory-bean="calendar"

  factory-method="getTime"

  3、bean 别名

  <alias name="calendar"

  alias="newCalendar"></alias>

  将已存在的名为calendar的bean对象更名为newCalendar

  4、bean的作用域

  a、singleton  (单例)

  默认

  b、prototype (原型)

  每次获取bean对象容器都会重新创建一个

  c、request

  d、session

  e、global Session

  5、bean的生命周期回调

  bean对象从创建到销毁的被调用的方法

  xml配置

  初始化方法配置:

  <bean id="" class="" init-method="init" />

  销毁方法配置

  <bean id="" class="" destroy-method="destroy"/>

  仅限 scope="singleton"的时候有效

  销毁方法只在容器关闭时才会调用

  AbstractApplicationContext aac

  = (AbstractApplicationContext)ac;

  aac.close();

  另外一种设置方式:

  <beans >

  属性 :

  a、default-init-method:设置当前容器中

  所有的bean初始化方法

  b、default-destroy-method:设置当前

  容器中所有bean的销毁方法

  6、bean 延迟实例化

  scope=singleton

  作用:在容器启动的不初始化singletonbean

  当程序第一次调用的时候开始实例化

  属性:

  bean:

  lazy-init="true"

  beans:

  default-lazy-init="true"

  7、指定bean的依赖关系

  两个bean如果具备依赖关系,

  当一个bean被启动的时候,可以通过设置

  依赖关系让另外一个bean也被实例化

  bean:

  depends-on : 指定依赖bean
首页