Spring

详情
bean的配置项

bean的作用域:前提都在同一个IOC(bean)容器中: scope =
singleton: 单例模式 一个bean容器中只有一个实例,bean容器指

    ApplicationContext context = 
new ClassPathXmlApplicationContext(new String[] {"spring-config.xml"});

   Employee employee1=context.getBean("employee1", Employee.class);

context这是一个bean容器,如果在创建一个context1, 同时用
context1.getBean("employee1",Employee.class) 表示2个容器中都有一份相同的实例。

prototype 每次创建新的对象new的时候,都创建新实例, 之后自动回收,

与web应用有关
request 一次http请求创建一个实例,另一个http请求有新实例
session 一次http请求创建一个实例,另一个http请求有新实例
global session 在一个web系统中相当于session, 如果有多个系统混用,则基于portlet, 而每个系统都应该有自己的session, 所以此时用global session.

注意 juint测试中,每个方法都会执行@before,@after所以不同的方法会在不同的IOC容器中

通过工厂方法创建一个bean实例
工厂bean, calendar=Calendar.getInstance方法
采用id或者name属性标识一个bean。

Destroy Method 类在销毁前能执行的方法。 在bean的定义中配置destroy-method属性< bean
id=“excutorService” class=“java.util.concurrent.Executors”
factory-method=“newCachedThreadPool” destroy-method=“shutdown”>

Bean的生命周期
- 定义 :在配置文件中定义id和class
- 初始化:

     ApplicationContext context = 
             new ClassPathXmlApplicationContext(new String[] {"spring-config.xml"});

     Product product1 = context.getBean("product", Product.class);
  • 使用:调用实例的方法
  • 销毁:容器停止后,销毁该容器创建的所有实例。

详情

初始化和销毁bean的方法有三种

  • 类继承接口
  • 在配置文件中用默认bean
  • 在配置文件中定义init-method和destory-method属性。

Aware
比如:ApplicationContextAware 提供context上下文
BeanNameAware
这里写图片描述

这里写图片描述

以及ServletConfigAware和ServletContextAware

例子

spring中提供了一些以Aware结尾的接口,实现了Aware接口的bean在被初始化之后,可以获取相应资源通过Aware接口,可以对Spring相应资源进行操作(一定要慎重)为对Spring进行简单的扩展提供了方便的入口

bean的自动装配

default-autowire=”byName |byType|constructor”
例子


<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"
       >

用constructor时要在调用方中写构造函数,有被调用方的参数,那么配置文件中被调用方的id可以省略,只用到class。

Resources
这里写图片描述

ResourceLoader
这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值