DispatcherServlet初始化主线
2017-10-12 10:50:37 0 举报
DispatcherServlet初始化主线
作者其他创作
大纲/内容
初始化容器
基于注解的配置
1、可以指定一组配置文件,默认“整合”为一个配置文件;2、均可以显式指定资源类型前缀
属性注入
@Component:基本@Repostitory:DAO实现类@Service:Service实现类@Controller:Controller实现类
基于Java类的配置
注解@Autowired
构造函数注入
scope=\"singleton\":默认;单例模式scope=\"prototype\":非单例scope=\"lazy-init\":true// 默认false,延迟加载,也就是IoC 容器将第一次被用到时才开始实例化web应用环境下:首先需要额外配置RequestContextListener;request:每次HTTP请求调用这个bean时新建bean,处理完毕后销毁session:Session中所有HTTP请求都使用同一个bean,HTTP Session 结束后销毁globalSession:仅在Portlet的Web应用下使用,如果不是则和前者相同。
T getObject():返回由FactoryBean创建的Bean实例boolean isSingleton:Class getObjectType():
Bean定义注册表
工厂方法注入
1、读取Bean配置信息
web应用需启用
默认从类路径加载配置文件
ApplicationContext
一、头部声明,Schema-based XML的声明二、组件定义,指定组件的实现模式1. 基于Schema-based XML的配置定义模式2. 基于Traditional XML的配置定义模式定义组件:用具体的实现类来指定接口的行为方式,然后在初始化WebApplicationContext时初始化这些组件
简化
Spring容器
4、使用Bean
简化情况下,不能使用1,只能用转义序列
DispatcherServlet
ContextLoaderListener
Spring容器内部协作解构
自动装配Bean
XML
独立于Spring自身的所构建的其他WebApplicationContext体系而存在。SpringMVC中所定义的一切组件能够无缝地与Root WebApplicationContext中的组件整合
通过配置
5、级联属性:name:其他类.属性;本类:为其他类声明一个初始化对象
1、使用@Autowired:默认byType2、@Autowired(required=false):默认为true;找不到匹配的bean时不报告异常;3、@Qualifier:指定名称4、类方法标注:5、集合注入:6、延迟注入:@Lazy,必须同时标注属性和目标bean
遗留系统或者第三方类库中使用
任何实例化对象都需要某个值的情况下
默认从文件系统加载配置文件
程序
RequestContextListener
:SpringMVC核心配置文件名字和位置:注册的组件的访问路径:会在整个Web应用程序启动的时候运行一次,并初始化传统意义上的Spring的容器:修改listener默认位置
bean
Servlet
Bean:所有可以被Spring容器实例化并管理的Java类javaBean的变量的前两个字母要么全部大写,要么全部小写
SpringMVC WebApplicationContext
FactoryBean
依赖注入
6、集合类型属性1、list、set: ABABAABABA 2、map: ABABAABABA…… 3、Properties和map类似,但键和值均为字符串 value…… 4、集合合并把子bean的merge设置为true;子bean将包含父bean的属性值,子bean的属性值在后面5、配置集合类型的bean先引入until声明***
初始化的时候就实例化所有单实例的Bean
实现SelevletRequestListener监听器接口:监听http请求事件
Bean缓存池
3、将Bean实例放到容器中
1、继承:parent,一般父bean的abstract=\"true\
initServletBean()
FileSystemXmlApplicationContext
init()
Bean配置信息
initWebApplicationContext()
Bean实现类
具体步骤
p命名空间
Root WebApplicationContext
1、字面量,遇到特殊字符:& 、。2、引用其他bean:3、内部bean:4、null: //注入的为空字符串5、级联属性6、集合类型属性
很少采用
@Scope(\"prototype\"):默认为singleton
读取
从中读取组件的实现类并缓存于内部
引入配置文件
WebApplicationContext
之间的关系
Java类@Configuration
DispatcherServlet初始化主线
HttpServletBean
核心本质
类:带参构造函数xml: //每一个属性对应一个,可以使用type或index或组合来区分类似的构造函数ABABA //参数
实现SelevletContextListener监听器接口:只负责监听Web容器的启动和关闭事件
FrameworkServlet
拓展
定制实例化Bean的逻辑
web.xml
作用域
Grooyrybeans
parent
ClassPathXmlApplicationContext
注入参数详解
类:默认构造函数、setter方法xml: //name为属性的名称,每一个属性对应一个ABABA //参数
核心配置文件xml
的简化形式对应于没有简化
2、根据Bean注册表实例化Bean
用注解定义Bean
获取
Servlet的核心方法:1. init方法:在整个系统启动时运行,且只运行一次。2. service方法:在整个系统运行的过程中处于侦听模式,侦听并处理所有的Web请求
扫描注解定义的Bean
0 条评论
下一页