Spring in action 读书笔记①

bean

Spring 应用上下文

Spring 自带了多种类型的应用上下文:

  • AnnotationConfigApplicationContext: 从一个或者多个基于Java 的配置类中加载Spring 应用上下文。
  • AnnotationConfigWebApplicationContext:从一个或者多个基于Java 的配置类中加载Spring Web 应用上下文。
  • ClassPathXmlApplicationContext:从类路径下的一个或者多个XML 配置文件中加载上下文定义, 把应用上下文的定义文件作为类资源。
  • FileSystemXmlApplicationContext:从文件系统下的一个或者多个Xml 配置文件中加载上下文定义。
  • XmlWebApplicationContext:从Web应用下的一个或者多个Xml 文件中加载上下文定义。

Spring Boot 默认的类路径

1
2
3
4
5
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {  
"classpath:/META-INF/resources/",
"classpath:/resources/",
"classpath:/static/",
"classpath:/public/" };

bean 的生命周期

image.png

@ComponentScan

这个注解能够在Spring 中启用组件扫描, 如果没有其他配置, @ComponentScan 默认会扫描当前包及其子包下所有的组件

1
2
3
4
5
// 指定基础包
@ComponentScan(basePackages={'package_name'})

// 指定包中的类或者接口
@ComponentScan(basePackageClasses={'User.class'})

or

1
<context:component-scan base-package = 'package_name'/>

使用JavaConfig 创建bean

1
2
3
4
5
6
7
8
9
10
@Configuration
public class MyConfig {
/**
* 默认情况下,bean 的ID 与带有@Bean 注解的方法名是一样的
*/
@Bean
public MyBean myBean() {
return new MyBean();
}
}

本文标题:Spring in action 读书笔记①

文章作者:Enda Lin

发布时间:2019年09月20日 - 09:30

最后更新:2019年10月02日 - 20:29

原始链接:https://wt-git-repository.github.io/2019/09/20/Spring-in-action-1/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。