之前也在用这三个接口,但是对于他们的概念还是处于朦胧状态,同时,也不知道他们之间是一个什么关系,趁着现在有点时间总结一下吧,也需要对你有所帮助.一.BeanFactory       基本认识:       该接口提供了高级IOC配置机制,实现对不同类型JAVA对象的统一管理,从字面意思来理解意思是Bean工厂,即用来创建Bean的工厂,这里的Bean和我们之前理解的JavaBean有些不同,之前我们理解的JavaBean需要符合一定的规范,而这里的Bean范围更大,在这里凡是可以被Spring…
spring中基础核心接口总结理解这几个接口,及其实现类就可以快速了解spring,具体的用法参考其他spring资料 1.BeanFactory最基础最核心的接口重要的实现类有:XmlBeanFactory,以及ApplicationContext接口下的类 2.Resource接口,可以通用地访问文件资源1)ClassPathResource:读取得形式为"classpath:ApplicationContext.xml"2)FileStstemResource:读取得形式为&qu…
Spring核心思想,IoC与DI详解(如果还不明白,放弃java吧) 1.IoC是什么?    IoC(Inversion of Control)控制反转,IoC是一种新的Java编程模式,目前很多轻量级容器都在广泛使用的模式.  2.IoC解决了什么问题?    在IoC出现以前,组件之间的协调关系是由程序内部代码来控制的,或者说,以前我们使用New关键字来实现两组间之间的依赖关系的.    这种方式就造成了组件之间的互相耦合.IoC(控制反转)就是来解决这个问题的,它将实现组件间的关系从程…
记得当年大学时候,java的企业级框架还是ssh的天下(spring,struts和hibernate),但是现在,感觉spring已经完全把那两个框架甩在后边了.用spring的人越来越多,用struts的人比原来少多了,用hibernate的就更少了.毕竟现在it人才流动性太大了,招人上来上手很重要,谁知道他什么时候就跑了..(hibernate太复杂了). 我最近只看spring,所以只说spring. 记得当初面试的时候被问到过spring的三大核心思想.相信多数javaer都被问到过这…
核心接口(ApplicationContext) 继承关系 继承接口: org.springframework.beans.factory.ListableBeanFactory:用于访问应用程序组件的Bean工厂方法 org.springframework.core.io.ResourceLoader:以通用方式加载文件资源的能力. ApplicationEventPublisher:将事件发布到注册的侦听器的能力. MessageSource:解决消息的能力,支持国际化. 方法: /** *…
BeanFactory 才是Spring 容器中的顶层接口.ApplicationContext 是它的子接口. ApplicationContext 它在构建核心容器时, 创建对象采取的策略是采用立即加载的方式. 也就是说,只要一读取完配置文件, 马上就创建配置文件中配置的对象. 单例对象适用 BeanFactory 它在构建核心容器时,创建对象采取的策略是采用延迟加载的方式. 也就是说, 什么时候根据ID获取对象,什么时候才真正的创建对象. 多例对象适用…
[原创文章,转载请注明出处][本文地址]http://www.cnblogs.com/zffenger/p/5813470.html 在使用Spring的时候,我们经常需要先得到一个ApplicationContext对象,然后从该对象中获取我们配置的Bean对象.ApplicationContext隶属于org.springframework.context,是SpringFramework中Bean的管理者,为SpringFramework的诸多功能提供支撑作用. 下图是Spring-4.3…
一.BeanFactoryBeanFactory 是 Spring 的“心脏”.它就是 Spring IoC 容器的真面目.Spring 使用 BeanFactory 来实例化.配置和管理 Bean. BeanFactory:是IOC容器的核心接口, 它定义了IOC的基本功能,我们看到它主要定义了getBean方法.getBean方法是IOC容器获取bean对象和引发依赖注入的起点.方法的功能是返回特定的名称的Bean. BeanFactory 是初始化 Bean 和调用它们生命周期方法的“吃苦…
在Spring的IOC容器里配置Bean 配置Bean形式:基于xml文件方式.基于注解的方式 在xml文件中通过bean节点配置bean: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchem…
spring有两个核心接口,BeanFactory 和ApplicationContext  ,其中ApplicationContext 是BeanFactory的子接口.他们代表了Spring容器. BeanFactory采用工厂设计模式,负责创建和分发Bean. 要实例化BeanFactory需要传递一个java.io.InputStream 对象把Bean XML 定义文件 给XmlBeanFactory: BeanFactory beanFactory = new XmlBeanFact…
核心容器的两个接口.ApplicationContext和BeanFactory 怎么知道对象被创建了呢 我们只需要在实现类里面构造函数内打印输出一段话 然后再这里加上一个断点 运行程序,光标停在这个位置 往下走一步.对象被创建了.这就是加载了配置文件.对象实例立马被创建了. BeanFactory延迟加载的方式 右键BeanFactory BeanFactory有个过时的实现是XmlBeanFactory 创建XmlBeanFactory里面参数有要求 那就在上面定义需要的参数Resource…
IOC(概念和原理)1.什么是 IOC(1)控制反转,把对象创建和对象之间的调用过程,交给 Spring 进行管理(2)使用 IOC 目的:为了耦合度降低(3)做入门案例就是 IOC 实现2.IOC 底层原理(1)xml 解析.工厂模式.反射3.画图讲解 IOC 底层原理 IOC(BeanFactory 接口)1.IOC 思想基于 IOC 容器完成,IOC 容器底层就是对象工厂2.Spring 提供 IOC 容器实现两种方式:(两个接口)(1)BeanFactory:IOC 容器基本实现,是 S…
Spring Boot REST(一)核心接口 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) SpringBoot REST 系列相关的文章: SpringBoot REST(一)核心接口 SpringBoot REST(二)源码分析 一.Spring 中与 REST 相关的注解 Spring 有以下相关的注解: ## 定义相关 |-- @Controller |-- @RestController ## 映射相关…
Spring事务管理概述 文章目录 Spring事务管理概述 数据库事务 什么是Spring的事务管理? Spring对事务管理的支持 Spring事务管理的核心接口 Platform TransactionManager TransactionDefinition TransactionStatus 简单记录 - 简单记录-Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis) 和 Spring 3.0就这么简单 -Spring的事务管理 Spring提供了灵活…
这次来看看Struts2+Spring+Hibernate三大框架的整合应用,主要是Spring和Hibernate框架的整合,因为前边已经将Strtus2+Spring整合过了基本一样.  首先看一下分工吧: Struts2做的MVC的流程框架,主要完成从客户端访问到选择action的过程,其中过滤器起到了Controller的作用,action属于model,而jsp则是view页面的展示. Spring主要利用Ioc的特长来管理各种对象:action,service,dao,数据访问源,H…
public class Client { /** * 获取spring的IOC核心容器,并根据id获取对象 * ApplicationContext的三个常用实现类 * classPathXmlApplicationContext: 它可以加载路径下的配置文件,要求配置文件必须在类路径下.不在的话加载不了 * FileSystemXmlApplicationContext: 它可以加载磁盘任意路径下的配置文件件(必须有访问权限) * AnnotationConfigApplicationCon…
servletContext 是web应用程序的大环境,用于存储整个web应用程序级别的对象. ApplicationContext,WebApplicationContext 是Spring的BeanFactory,从名字中就可以知道区别拉,后者是支持web特性的BeanFactory. Spring获取WebApplicationContext与ApplicationContext的几种方法: 方法一:在初始化时保存ApplicationContext对象 代码: ApplicationCo…
动机 现在Springboot越来越便捷,如果简单的Spring应用,已无需再配置xml文件,基本可以实现全注解,即使是SpringCloud的那套东西,也都可以通过yaml配置完成.最近一年一直在用Springboot+JPA或者Springboot+MyBatis,基本上不用Spring和SpringMVC了,心血来潮想着趁假期试着一点点实现一下Spring的基本功能(当然是会对照源码的,毕竟很多细节想不到,变量命名也会按照源码来),基本思路就是先按照Spring的类图试着自己写,争取实现相…
简单介绍 Spring IOC的核心方法就在于refresh方法,这个方法里面完成了Spring的初始化.准备bean.实例化bean和扩展功能的实现. 这个方法的作用是什么? 它是如何完成这些功能的? 为什么要这样去实现? 有哪些值得借鉴的地方? refresh方法 在ConfigurableApplicationContext里面定义了这个方法: /** * Load or refresh the persistent representation of the configuration,…
Struts,spring,hibernate三大框架的面试 1.Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Session 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory  为什么要用: 1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码. 2. Hibernate是一个基于JDBC的主流持久…
Spring中提供一些Aware相关接口,像是BeanFactoryAware. ApplicationContextAware.ResourceLoaderAware.ServletContextAware等等,实作这些 Aware接口的Bean在被初始之后,可以取得一些相对应的资源,例如实作BeanFactoryAware的Bean在初始后,Spring容器将会 注入BeanFactory的实例,而实作ApplicationContextAware的Bean,在Bean被初始后,将会被注入…
1.实现了相应的aware接口,这个类就获取了相应的资源. 2.spring中有很多aware接口,包括applicationContextAware接口,和BeanNameAware接口. 实现了这些接口的类,然后,这类中就包含了applicationContext对象的引用.BeanNameAware接口就是返回此bean的名字而已,一个string 3.applicationContext就是ioc容器,其实现了BeanFactory,可以解析xml里的各种bean,并把这些bean存储在…
Spring中提供一些Aware相关接口,像是BeanFactoryAware. ApplicationContextAware.ResourceLoaderAware.ServletContextAware等等,实现这些 Aware接口的Bean在被初始之后,可以取得一些相对应的资源,例如实现BeanFactoryAware的Bean在初始后,Spring容器将会注入BeanFactory的实例,而实现ApplicationContextAware的Bean,在Bean被初始后,将会被注入 A…
写在前面 上文Spring源码学习-容器BeanFactory(二) BeanDefinition的创建-解析前BeanDefinition的前置操作中Spring对XML解析后创建了对应的Document对象,处理完profile后终于到了标签的解析,这篇文章主要来探究Spring默认标签的解析. 1.4 BeanDefinition的创建 - 处理Spring默认标签 protected void parseBeanDefinitions(Element root, BeanDefiniti…
写在前面 从大四实习至今已一年有余,作为一个程序员,一直没有用心去记录自己工作中遇到的问题,甚是惭愧,打算从今日起开始养成写博客的习惯.作为一名java开发人员,Spring是永远绕不过的话题,它的设计精巧,代码优美,值得每一名开发人员学习阅读. 在我最开始学习javaEE时,第一次接触Spring是从一个S(Struts)S(Spring)H(Herbinate)的框架开始.由java原生开发到框架开发转换过程中,那时我的印象里Struts负责控制层,herbinate负责数据层,而Sprin…
AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子. 一 AOP的基本概念 (1)Aspect(切面):通常是一个类,里面可以定义切入点和通知 (2)JointPoint(连接点):程序执行过程中明确的点,一般是方法的调用 (3)Advice(通知):AOP在特定的切入点上执行的增强处理,有before,after,afterReturning,afterThrowing,around…
1. Spring的IoC容器和IoC Service Provider的关系 Spring的IoC容器和IoC Service Provider所提供的服务之间存在一定的交集,二者的关系如图4-1所示. 2. Spring提供了两种容器类型:BeanFactory和ApplicationContext.  BeanFactory. 基础类型IoC容器,提供完整的IoC服务支持.如果没有特殊指定,默认采用延迟初始化策略(lazy-load). 只有当客户端对象需要访问容器中的某个受管对象的时候…
在前文的介绍中我们知道,org.springframework.beans.factory包提供了一些基本的功能来管理和控制Bean,甚至通过编程的方式来实现.org.springframework.context包添加了ApplicationContext接口,ApplicationContext接口扩展了BeanFactory接口.ApplicationContext接口扩展了其他的接口来以一种更加面向应用的方式来提供额外的功能.很多开发者喜欢以完全显式声明的方式来使用Application…
Spring IOC容器其实就是BeanFactory的实例,Spring中BeanFactory的类关系结构如下图: 从上图可以看出Beanfactory作为根接口又细化出三个二级接口,最后又有ConfigurableListableBeanFactory接口统一了这三个接口,最终有DefaultListableBeanFactory实现了上面的接口.DefaultListBeanFactory也是我们最常用的功能完整的IOC容器实现.其子类型XMLBeanFactory在Spring3.1后…
本文介绍使用SpringMVC+Spring+MyBatis三大框架使用Maven快速搭建一个demo,实现数据从数据库中查询返回到页面进行展示的过程. 技术选型:SpringMVC+Spring+MyBatis+MySql+Maven+JSP+IDEA+Tomcat7+JDK1.8+Navicat for MySql 下面开始搭建项目: 一.数据库环境搭建 1.首先使用Navicat for MySql连接MySql数据库,创建一个新的数据库或者使用某一个已经存在的数据库,我这里新创建了一个t…