-
【Spring5.0】学习目录(一)
-
两种后处理器
-
Bean后处理器:用于对Bean进行额外加强(实现
BeanPostProcessor
接口)Object postProcessorBeforeInitialization(Object bean, String id) Object postProcessorAfterInitialization(Object bean, String id)
-
bean
:系统即将进行后处理的Bean -
id
:该Bean的配置id -
Spring提供的两个常用的后处理器
BeanNameAutoProxyCreator
:根据Bean实例的name
属性,创建Bean实例的代理。DefaultAdvisorAutoProxyCreator
:根据提供的Advisor,对容器中的所有Bean实例创建代理。
-
-
容器后处理器:用于增强容器功能 (实现
BeanFactoryPostProcessor
接口)postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
-
Spring提供的几个常用的容器后处理器
-
PropertyPlaceholderConfigurer
:属性占位符配置器- 读取属性文件信息(
.properies
文件),并将这些信息设置成Spring配置文件的数据
- 读取属性文件信息(
-
PropertyOverrideConfigurer
:重写占位符配置器- 属性文件指定的信息可以直接覆盖Spring配置文件中的元数据
- 属性文件格式:
beanId.property=value
-
CustomAutowireConfigurer
:自定义自动装配的配置器 -
CustomScopeConfigurer
:自动以作用域的配置器
-
-
-
-
Spring 注解
-
@Component
:标注一个普通的Spring Bean类 -
@Service
:标注一个业务逻辑类 -
@Controller
:标注一个控制器组件类 -
@Repository
:标注一个DAO组件类 -
@Lookup
-
<context:component-scan base-package="">
-
<context:include-filter type="" expression="">
-
<context:exclude-filter type="" expression="">
type
:指定过滤器类型 -annotation
,assignable
,regex
expression
: 过滤器所需要的表达式
-
-
@Scope
指定Bean的作用域"prototype"
,"singleton"
,"application"
,"request"
,"session"
-
@Resource[(name="")]
:name
为某个Bean实例的id
。可以修饰setter
,也可以修饰实例变量 -
@Value("")
:配置属性值。可以修饰setter
,也可以修饰实例变量 -
@PostConstruct
:定制生命周期行为:修饰Bean的初始化方法 -
@PreDestory
:定制生命周期行为:修饰Bean销毁之前的方法 -
@DependsOn({"",""})
:改变初始化行为:强制初始化两个Bean -
@Lazy
:改变初始化行为:是否取消某个Bean的预初始化 -
@Autowired
:自动装配(默认使用byType
的方式)-
修饰
setter
方法@Autowired public void seAxe(Axe axe) {this.axe = axe}...
-
修饰普通多参方法
@Autowired public void prepare(Axe axe, Dog dog) {this.axe = axe; this.dog = dog;}...
-
修饰构造器或实例变量
@Autowired private Axe axe; @Autowired public Chinese(Axe axe, Dog dog) {this.axe = axe; this.dog = dog;}...
-
修饰数组类型的成员变量
@Autowired private Axe[] axe;
-
标注集合类型的实例变量
private Set<Axe> axes; @Autowired public void setAxes(Set<Axe> axes) {this.axes = axes;}...
-
-
@Primary
:由于@Autowired
默认使用byType
策略完成自动装配,可能出现多个类型相同的Bean,此时就会报异常。@Primary
用于指定候选Bean为主候选Bean
-
@Qualifier
:用于指定Bean的id
来完成自动装配 -
@Required
:为setter
方法检查注入。
-
-
资源访问
-
使用前缀指定访问策略
new FileSystemXmlApplicationContext("classpath:beans.xml");
-
classpath*:
前缀用法- 系统将搜索类加载路径,找出所有与文件名匹配的文件,分别加载文件中的配置定义,最后合并成一个
ApplicationContext
。
new FileSystemXmlApplicationContext("classpath*:beans.xml");
- 系统将搜索类加载路径,找出所有与文件名匹配的文件,分别加载文件中的配置定义,最后合并成一个
-
file:
前缀的用法- 访问相对路径下的
beans.xml
,以当前工作路径为起点new FileSystemXmlApplicationContext("file:beans.xml");
- 访问绝对路径下的
beans.xml
,以文件系统根路径为起点new FileSystemXmlApplicationContext("file:/beans.xml");
- 访问相对路径下的
-
【Spring5.0】学习目录(二)
最新推荐文章于 2022-09-21 14:46:31 发布