Spring
1bean的作用域scope
有5个属性
Singleton 通过Spring IOC获取的都是同一个实例。 Spring框架中的单例bean不是线程安全的。
prototype程序每次从IOC容器获取的Bean都是一个新的实例
request每次HTTP请求都会创建一个新的Bean
session同一个Session共享一个Bean实例。不同Session使用不同的实例。
global-session所有的Session共享一个Bean实例。
2
有五种自动装配的方式,可以用来指导Spring容器用自动装配方式来进行依赖注入。
- no:默认的方式是不进行自动装配,通过显式设置ref 属性来进行装配。
- byName:通过参数名 自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byname,之后容器试图匹配、装配和该bean的属性具有相同名字的bean。
- byType::通过参数类型自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byType,之后容器试图匹配、装配和该bean的属性具有相同类型的bean。如果有多个bean符合条件,则抛出错误。
- constructor:这个方式类似于byType, 但是要提供给构造器参数,如果没有确定的带参数的构造器参数类型,将会抛出异常。
- autodetect:首先尝试使用constructor来自动装配,如果无法工作,则使用byType方式。