Spring基础知识
Posted 0ffff
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring基础知识相关的知识,希望对你有一定的参考价值。
由于之前对Sping框架没有整体的了解,对基础知识有很大的缺失。
为了打好基础对一些基本概念进行总结
1. 什么是POJO?
POJO(Plain Old Java Object)从字面上翻译为“简单老式的java对象”或者 “普通java类”
POJO是指:那些没有继承任何类、也没有实现任何接口,更没有被其它框架侵入的Java对象。
POJO规范
- 所有属性都必须是private
- 所有外部访问必须通过setter、getter
- 不能有extend
- 不能有implments
- 不能包含预定注解,如@Entity public class Hello
2. 什么是JavaBean?
JavaBean是一种JAVA语言写的可重用组件。JavaBean符合一定规范写的Java类,是一种规范。它的方法命名,构造以及行为必须符合特定的要求:
- 所有属性为private
- 这个类必须具有一个公共的(public)无参构造函数
- private属性必须提供public的getter和setter来给外部访问,并且方法的命名也必须遵循一定的命名规范
- 这个类是可序列化的,要实现serializable接口
3. 什么是SpringBean?
SpringBean是受Spring管理的对象 所有能受Spring容器管理的对象都可以成为SpringBean.
在 Spring 中,Bean 的创建是由 Spring 容器进行的,也就是说,在 Spring 中使用 Bean 的时候,不是由关键字 New 来创建实例了。
Spring中Bean装配方式:自动装配、使用 XML 装配、使用 Java 装配
4. Spring Bean与JavaBean区别?
- 规范:Spring容器对Bean没有特殊要求,JavaBean需要满足一定规范
- 用处:JavaBean更多地作为值传递参数,SpringBean无处不在
- 声明周期:JavaBean声明周期,由new实例化后使用,该Bean不在使用后有Java自动回收垃圾;SpringBean由Spring容器管理。
5. 什么是Spring容器?
- 从概念上讲:Spring 容器是 Spring 框架的核心,是用来管理对象的。容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁。
在java项目中,我们使用实现了org.springframework.context.ApplicationContext接口的实现类。在web项目中,我们使用spring.xml——Spring的配置文件。 - 从代码上讲:一个Spring容器就是某个实现了ApplicationContext接口的类的实例。也就是说,从代码层面,Spring容器其实就是一个ApplicationContext(一个实例化对象)。
6. 什么是依赖注入DI
is a :是一个:继承 has a :有一个 成员变量,依赖。
注入:通过setter方法进行另一个对象实例设置。
7. Spring中Bean的作用域?
- singleton 在: 在spring IoC容器仅存在一个Bean实例,Bean以单例方式存在,默认值
- prototype: 每次从容器中调用Bean时,都返回一个新的实例,即每次调用getBean()时,相当于执行newXxxBean() ;。Prototype是原型类型,它在我们创建容器的时候并没有实例化,而是当我们获取bean的时候才会去创建一个对象,而且我们每次获取到的对象都不是同一个对象
- request :request只适用于Web程序,每一次 HTTP 请求都会产生一个新的bean,同时该bean仅在当前HTTP request内有效,当请求结束后,该对象的生命周期即告结束。
- seesion :同一个HTTP Session共享一个Bean,不同Session使用不同的Bean,仅适用于WebApplicationContext环境
- global-session: 一般用于Portlet应用环境,该运用域仅适用于WebApplicationContext环境
8. Spring中Bean的生命周期?
生命bean ->初始化 ->使用 ->摧毁
实例化过程 ---:实例化bean对象->设置对象属性->检查Aware相关接口并设置相关依赖->BeanPostProcessor前置处理
->检查是否是InitializingBean以决定是否调用afterPropertiesSet方法->检查是否有配置自定义的init-method
->BeanPostProcessor后置处理->注册必要的Destruction相关回调接口->使用中
->是否实现DisposableBean接口->是否配置有自动以的destroy方法。
以上是关于Spring基础知识的主要内容,如果未能解决你的问题,请参考以下文章