跟着刚哥学习Spring框架--Spring容器(二)
Spring容器
启动Spring容器(实例化容器)
-- IOC容器读取Bean配置创建Bean实例之前,必须对它进行实例化(加载启动),这样才可以从容器中获取Bean的实例并使用。
Bean是Spring管理的基本单位,任何的Java对象和组件都被当成Bean处理,容器还负责管理Bean与Bean之间的依赖关系。
两种类型的启动实现
1、BeanFactory:IOC容器的基本实现,是Spring框架的基础设施,面向Spring本身;
-- Spring容器最基本的接口就是BeanFactor。BeanFactory负责配置、创建、管理Bean。
-- BeanFactory接口包含以下几个基本方法:
Ø Boolean containBean(String name):判断Spring容器是否包含id为name的Bean实例。
Ø <T> getBean(Class<T> requiredTypr):获取Spring容器中属于requiredType类型的唯一的Bean实例。
Ø Object getBean(String name):返回Spring容器中id为name的Bean实例。
Ø <T> T getBean(String name,Class requiredType):返回容器中id为name,并且类型为requiredType的Bean
Ø Class <?> getType(String name):返回容器中指定Bean实例的类型。
2、ApplicationContext:面向使用Spring框架的开发者,几乎所有的应用都使用它而非底层的BeanFactory;
-- ApplicationContext是BeanFactory的子接口,一般都会用ApplicationContext,在使用上相比BeanFactory更方便一些。
看结构能够看出ApplicationContext有1个子接口,多个抽象类,2个实现类
1) 一个子接口:ConfigurableApplicationContext
① 此接口新增两个主要方法refresh和close,让ApplicationContext具有启动、刷新和关闭上下文的能力
2)两个实现类:ClassPathXmlApplicationContext和FileSystemXmlApplicationContext
① ClassPathXmlApplicationContext : 从类路径下加载配置文件
√ 文件路径:默认指的是项目的classpath路径下面,所以不需要写前缀classpath:。如果指向绝对路径,需要加上file:
② FileSystemXmlApplicationContext:从文件系统中加载配置文件
√ 文件路径:默认指的是项目的根目录下,想使用项目的classpath路径下面,需要加上classpath:。
--------------------------------------------------------------------------------------------------------------------
跟着刚哥学习Spring框架系列:
跟着刚哥学习Spring框架--创建HelloWorld项目(一)
跟着刚哥学习Spring框架--Spring容器(二)
跟着刚哥学习Spring框架--通过XML方式配置Bean(三)
跟着刚哥学习Spring框架--通过注解方式配置Bean(四)
跟着刚哥学习Spring框架--AOP(五)
跟着刚哥学习Spring框架--JDBC(六)
跟着刚哥学习Spring框架--事务配置(七)
跟着刚哥学习Spring框架--Spring容器(二)的更多相关文章
- 跟着刚哥学习Spring框架--创建HelloWorld项目(一)
1.Spring框架简介 Spring是一个开源框架,Spring是在2003年兴起的一个轻量级的开源框架,由Rod johnson创建.主要对JavaBean的生命周期进行管理的轻量级框架,Spri ...
- 跟着刚哥学习Spring框架--AOP(五)
AOP AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善.OOP引入 ...
- 跟着刚哥学习Spring框架--通过注解方式配置Bean(四)
组件扫描:Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件. 特定组件包括: 1.@Component:基本注解,识别一个受Spring管理的组件 2.@Resposit ...
- 跟着刚哥学习Spring框架--通过XML方式配置Bean(三)
Spring配置Bean有两种形式(XML和注解) 今天我们学习通过XML方式配置Bean 1. Bean的配置方式 通过全类名(反射)的方式 √ id:标识容器中的bean.id唯一. √ cl ...
- 跟着刚哥学习Spring框架--事务配置(七)
事务 事务用来保证数据的完整性和一致性. 事务应该具有4个属性:原子性.一致性.隔离性.持久性.这四个属性通常称为ACID特性.1.原子性(atomicity).一个事务是一个不可分割的工作单位,事务 ...
- 跟着刚哥学习Spring框架--JDBC(六)
Spring的JDBC框架 Spring JDBC提供了一套JDBC抽象框架,用于简化JDBC开发. Spring主要提供JDBC模板方式.关系数据库对象化方式.SimpleJdbc方式.事务管理来简 ...
- 跟着刚哥梳理java知识点——注释(二)
1.单行注释 // //这是main方法,程序的入口 public static void main(String[] args) { //输出语句 System.out.println(" ...
- Spring框架IOC容器和AOP解析 非常 有用
Spring框架IOC容器和AOP解析 主要分析点: 一.Spring开源框架的简介 二.Spring下IOC容器和DI(依赖注入Dependency injection) 三.Spring下面 ...
- Spring框架 - Spring和Spring框架组成
Spring框架 - Spring和Spring框架组成 Spring是什么?它是怎么诞生的?有哪些主要的组件和核心功能呢? 本文通过这几个问题帮助你构筑Spring和Spring Framework ...
随机推荐
- ubuntu samba共享后windows读写文件都是以nogroup问题
添加smb账号 sudo smbpasswd -a xxx 如果报错:Failed to add entry for user xxx 则是因为这个账号不存在 添加成功以后,过一会就可以重新登陆了(u ...
- 论Java的重要性
最近,最新的世界编程语言排名最近出炉了,Java位居世界第一. 不仅如此,Java以17.856%超过第二名C语言的8.726%两倍以上,其实,这一现象是十分反常的,因为,在前几年, ...
- 【转】shell expect spawn、linux expect 用法小记 看着舒服点
使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: ######## ...
- C# AOP框架入门(转)
出处:https://www.cnblogs.com/isaboy/p/Csharp_AOP_Log.html AOP面向切面编程(Aspect Oriented Programming),是通过预编 ...
- C++ 中 new 操作符内幕:new operator、operator new、placement new
一.new 操作符(new operator) 人们有时好像喜欢有益使C++语言的术语难以理解.比方说new操作符(new operator)和operator new的差别. 当你写这种代码: st ...
- 深入理解,函数声明、函数表达式、匿名函数、立即执行函数、window.onload的区别.
一.函数声明.函数表达式.匿名函数1.函数声明:function fnName () {…};使用function关键字声明一个函数,再指定一个函数名,叫函数声明. 2.函数表达式 var fnNam ...
- Atcoder Grand-014 Writeup
A - Cookie Exchanges 题面 Takahashi, Aoki and Snuke love cookies. They have A, B and C cookies, respec ...
- java web 怎么下载大文件(上百M)
Java代码 ; ]; , )) != -) { , bytesRead); 13. } 14. toClient.write(buffer ...
- 1.gil全局解释器锁, 2. 死锁与递归锁 3. 信号量 4. Event事件 5. 线程queue
gil本质就是一把互斥锁,相当于执行权限,每个进程都会存在一把gil,同一进程内的多个线程必须抢到gil 之后才能使用cpython解释器来执行自己的代码,同一进程下的多线程不能并行,但可以实现并发 ...
- centos6.4 安装wireless驱动
安装完centos6.4之后,目测只有有线的驱动,没有无线驱动. 一.检测网卡 [root@centos ~]# lspci | grep Net :.11b/g LP-PHY (rev ) :) 第 ...