Spring Bean装配

配置项

id 唯一标识

class 具体实例化的哪一个类 (必须要有的)

scope 范围 作用域

constructor arguments 构造器的参数

properties   类的属性

autowiring mode 自动装配

lazy-initialization mode 懒加载

initialization/destruction method 初始化和销毁的方法


作用域 scope=""

singleton:一个Bean容器中只有存在一份(默认)

prototype:每次请求创建新的实例

request:每http请求创建一个实例存在于当前request中

session:每http请求创建一个实例存在于当前session

global session:基于portlet的web中,跨项目传信息


-----------------------------------------------------------------------------------------------------

生命周期

定义:配置文件中定义的id和class

初始化:容器加载

public class ExampleBean implements InitializingBean{

@Override
public void afterPropertiesSet() throws Exception{

}
}

使用:取出实例调用方法

销毁:容器停止

public calss Example implements DisposableBean{
@Override
public void destroy() throws Exception{

}
}

全局配置

接口高于单独配置覆盖全局配置


------------------------------------------------------------------------------------------------------------

Aware结尾接口:ApplicationContextAware、BeanNameAware

bean在初始化后获取相应的资源并进行操作扩展


----------------------------------------------------------------------------------------------------------------

自动装配(Autowiring):实现spring的注入

byname:根据属性名装配 id

byType:根据指定属性相同的bean 

Constructor:与byType相似



-----------------------------------------------------------------------------------------------------

Resources:针对资源文件的统一接口

UrlResource

ClassPathResource

ServletContextResource

InputStreamResource

。。。。。。。

ResourceLoader

前缀:classpath:

        file:

        http:

       (none)

承接Aware


-----------------------------------------------------------------------------------------------------

注解定义bean作用域

classpath 扫描与组件管理:spring3.0使用java定义bean

context:annotation-config




@Component:通用注解,用于任何bean

@Repository:通常用于注解DAO,持久层

@Service:通常用于注解Service类,服务层

@Controller:通常用于Controller类,控制层(MVC)

@Autowired

@RequestMapping

@Required、@Resource、@Qualifier

元注解:注解的注解

为了能够监测类并注册相应的bean

( 已包含 )

@scope("singleton")

代理方式 no、interface、targetClass




---------------------------------------------------------------------------------------------------------------------

@Autowired

默认情况下,找不到合适的bean导致自动注入失败 可以使用

@Autowired(required=false)

每个类只有一个构造器required=true

------

数组和Map自动注入

private List list;

private Map map;

数组有序注入@Order

--------

@Qualifier :按类型自动装配可能有多个bean实例,缩小范围,也可以指定单独的构造器参数和方法参数


--------------------------------------------------------------------------------------------------------------------------------

java 容器注解

@Bean :标识一个用于配置和初始化一个由SpringIoc容器管理的对象和方法,类似XML的


和@Configuration使用

--------

@ImportResource

@Value

资源文件读取


---------

@Scope


-----------

泛型自动装配


----------------------------------------------------------------------------------------------------

JSR-250@Resource注解或setter方法

@PostConstruct 初始化

@PreDestroy 销毁

---------

JSR330依赖javax.inject 使用Maven引入

@Inject

@Named




你可能感兴趣的:(spring)