文档章节

镜子哥的Spring之旅之基础知识

镜子哥哥
 镜子哥哥
发布于 2016/07/15 19:12
字数 780
阅读 3
收藏 0

Part1回答三个问题

Q1. Spring里的bean是什么?容器是什么?

Spring使用Bean或者JavaBean来表示应用组件,但组件并非必须要遵循JavaBean规范。一个Spring组件可以是任何形式的pojo(Plain Old Java Object)即简单的Java对象。

Spring容器创建、管理、装配应用对象,管理他们的整个生命周期(从创建到销毁),是整个Spring框架的核心,使用依赖注入(DI)管理应用组件。

Q2. 概述Bean的生命周期

Bean的生命周期传统上是指Java应用中指Bean从使用(new实例化)到被Java自动垃圾回收; Spring中Bean在从创建到销毁经历了若干阶段,每一阶段都可以针对Spring如何管理Bean进行个性化订制(即在Bean准备就绪前进行了若干启动步骤)。详细步骤此处不表。

Q3. 抽象工厂是什么? 准确的讲,这个名词是不对的(这是本人不是很懂的情况下回答Q1容器时用的名词)。Spring自带的几种容器实现可分为两种不同的类型:Bean工厂(bean factories由 org.springframework.beans.factory.BeanFactory接口定义)和应用上下文(application 由 org.springframework.context.ApplicationContext接口定义)。

Bean工厂是最简单的容器,提供基本的DI支持,对大多数应用太过低级;而应用上下文基于BeanFactory之上构建,并提供面向应用的服务,因此它比BeanFactory更受欢迎。

** 另:应用上下文(application,三种最可能遇到类型):**

1.ClassPathXmlApplicationContext——从类路径下的XML配置文件中加载上下文定义,把应用上下文定义文件当作类资源;

代码展示加载: ApplicationContext context=new ClassPathXmlApplicationContext(“x.xml”);

2.FileSystemXmlApplicationContext——读取文件系统下的XML配置文件并加载上下文定义;

代码展示加载: ApplicationContext context=new FileSystemXmlApplicationContext (“c:/x.xml”);

3.XmlWebApplicationContext——读取Web应用下XML配置文件并加载上下文定义。

Part2理解Spring主要特性DI与AOP

依赖注入(DI):

对象的依赖关系将由负责协调系统中各个对象的第三方组件在创建对象时 定。对象无需自行创建或管理它们的依赖关系——依赖关系会被自动的注入需 要它们的对象中去。

面向切面编程(AOP):

首先理解 横切关注点,它是指经常融入到有自身核心业务逻辑的组件中的系统服务,诸如日志,事务管理和安全等等。 AOP使这些服务模块化,并以声明的方式将他们应用到需要影响的组件中去。将关注点与组件分离,确保pojo保持简单。

Part3 Spring功能模块(6个)

核心Spring容器(Core Spring container);

AOP模块(AOP);

数据访问与集成(Data access & integration);

Web和远程调用(Web and remoting);

测试(Testing);

设备(Instrumentation).

© 著作权归作者所有

镜子哥哥
粉丝 1
博文 19
码字总数 14425
作品 0
广州
私信 提问
spring cloud 入门系列:总结

从我第一次接触Spring Cloud到现在已经有3个多月了,当时是在博客园里面注册了账号,并且看到很多文章都在谈论微服务,因此我就去了解了下,最终决定开始学习Spring Cloud。我在一款阅读App...

JAVA开发老菜鸟
2018/07/20
0
0
spring boot框架学习3-spring boot核心(2)

本节主要: 1:怎么手动关闭不需要的配置? 2:修改自定义启动的banner 3:全局配置文件 本文是《凯哥陪你学系列-框架学习之spring boot框架学习》中第三篇 spring boot框架学习3-spring bo...

凯哥java
2017/10/30
0
0
Spring Cloud升级Finchley版本小结及遇到的坑

Finchley正式RELEASE版本发布也有段时间了,如果想体验spring boot2.0的魅力以及spring 5.0的新功能,自然是要把Spring Cloud升级至F版。升级过程小结如下 准备工作 升级步骤非常简单,修改一...

暴走的初号机
2018/11/21
0
0
3月,献给程序员们的技术书

北京的雾霾刚刚过去,小编便开始埋头做三月书讯了。每天关注人邮IT书坊,分享微信内容,都可能会有惊喜降临在你的头上。 本期特别推荐 经典算法谜题的合集 Google、Facebook等一流IT公司算法...

生气的散人
2014/03/05
248
0
微服务架构实战学习(四):RPC 框架对比

下面是对市面上比较流行的 RPC 框架的对比 以上对比是我结合各框架的网上资料以及官方文档资源总结的,在实际的使用过程中。我们可以结合我们的业务场景来选择不同的框架。 虽然说没有最好的...

雨林_a1d6
2018/06/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Datatables插件1.10.15版本服务器处理模式ajax获取分页数据实例解析

一、问题描述 前端需要使用表格来展示数据,找了一些插件,最后确定使用dataTables组件来做。 后端的分页接口已经写好了,不能修改。接口需要传入页码(pageNumber)和页面显示数据条数(pageSi...

OSC首席混子
8分钟前
0
0
基于虹软的Android的人脸识别SDK使用测试

现在有很多人脸识别的技术我们可以拿来使用;但是个人认为还是离线端的SDK比较实用;所以个人一直在搜集人脸识别的SDK;原来使用开源的OpenCV;最近有个好友推荐虹软的ArcFace, 闲来无事就下...

是哇兴哥棒棒哒
17分钟前
0
0
Netty内存池之PoolThreadCache详解

PoolThreadCahche是Netty内存管理中能够实现高效内存申请和释放的一个重要原因,Netty会为每一个线程都维护一个PoolThreadCache对象,当进行内存申请时,首先会尝试从PoolThreadCache中申请,...

爱宝贝丶
30分钟前
9
0
除了Reader、Inbox之外 谷歌“关门部”还关闭了哪些服务或产品?

我们经常调侃称谷歌的“关门部”和微软的“更名部”是 IT 界的两大传奇,那么除了比较熟悉的 RSS 订阅服务 Google Reader、电子邮件服务 Inbox 和 Facebook 竞品 Google+ 之外,你还知道谷歌...

linux-tao
31分钟前
0
0
从B站的代码泄露事件中,我们能学到些什么?

先声明一下,本文不聊ISSUE中的七七八八,也不聊代码是否写的好,更不聊是不是跟蔡徐坤有关之类的吃瓜内容。仅站在技术人的角度,从这次的代码泄露事件,聊聊在代码的安全管理上,通常都需要...

程序猿DD
35分钟前
38
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部