025--Spring核心功能演示+面试题

VIP免费
2024-12-11 1 0 29.57KB 13 页 5.9玖币
侵权投诉
Spring 核心功能演示 + 面试题
Spring Framework 简称 Spring ,是 Java 开发中最常用的框架,地位仅次于 Java API,就
连近几年比较流行的微服务框架 SpringBoot ,也是基于 Spring 实现的,SpringBoot 的诞
生是为了让开发者更方便地使用 Spring ,因此 Spring Java 体系中的地位可谓首屈一
指。
当然,如果想要把 Spring 所有功能都讲的一清二楚,远远不是一两篇文章能够做到的,
但幸运的是,Spring 的基础资料可以很轻易的搜索到,那么我们本讲主要的目的就是把
Spring 中的核心知识点和常见面试题分享给大家,希望对大家能有所帮助。
Spring 介绍
Spring 是一个开源框架,为了解决企业应用程序开发复杂性而创建的,Spring 的概念诞
生于 2002 年,于 2003 年正式发布第一个版本 Spring Framework 0.9 。下面一起来看
Spring 各个版本的更新特性和它的发展变化吧。
Spring 1.x
此版本主要是为了解决企业应用程序开发复杂性而创建的,当时 J2EE 应用的经典架构是
分层架构:表现层、业务层、持久层,最流行的组合就是
SSHStrutsSpringHibernate)。
Spring 1.x 仅支持基于 XML 的配置,确保用户代码不依赖 Spring,它主要包含了以下功能
模块:aopbeansejbjdbcjndiormtransationvalidationweb 等。
Spring 2.x
Spring 2.x 的改动并不是很大,主要是在 Spring 1.x 的基础上增加了几个新模块,如
ehcachejmsjmxscriptingstereotype 等。
Spring 3.x
Spring 3.x 开始不止支持 XML 的配置,还扩展了基于 Java 类的配置,还增加了
ExpressionInstructmentTomcatoxm 等组件,同时将原来的 Web 细分为:
PortletServlet
Spring 4.x
Spring 4.x 扩充了 GroovyMessagingWebMvcTiles2WebSocket 等功能组件,同时
Spring 还适配了 Java 版本,全面支持 Java 8.0Lambda 表达式等。随着 RESTful 架构风
格被越来越多的用户所采用,Spring 4.x 也提供了 RestController 等注解新特性。
Spring 5.x
Spring 5.x 紧跟 Java 相关技术的更新迭代,不断适配 Java 的新版本,同时不断重构优化自
身核心框架代码,支持函数式、响应式编程模型等。
Spring 核心
Spring 核心包括以下三个方面:
控制反转(Ioc
依赖注入(DI
面向切面编程(AOP
下面分别来看它的这些特性。
控制反转(IoC
控制反转(Inversion of ControlIoC),顾名思义所谓的控制反转就是把创建对象的权利
给框架控制,而不为地创建,这就实现了可插拔式的接口编程,有
代码的降低了扩展和维护本。
比如,你去某旅游用自己亲自为订购 A 酒店还是 B 酒店而发了,只需要把住店
需求告诉托管平台,这个托管平台你订购一个便宜又舒适的酒店,而这
个帮你订购酒店的行为就可以称为控制反转。
依赖注入(DI
依赖注入(Dependency InjectionDI),是组件之间依赖关系由容器在运行
由容器的将个依赖关系注入到组件中。依赖注入的目的并件系统带来更多
功能,而是为了提组件重用的频率,并为系统搭建一个灵活、可扩展的平台通过依赖
注入制,只需通过的配置,而无需任何代码就可指标需要的资源,完成自身
的业务逻辑,而不要关心体的资源来自何处由谁实现。
IoC
DI
的关系
IoC Spring 中一个为重要的概念,而 DI 是实现 IoC 的方手段
下来,我们来看依赖注入的常见实现方式有
依赖注入的常见实现方式如下:
1. setter 注入
2. 注入
3. 注解注入
1
seer
注入
Java 代码:
public class UserController {
// 注入 UserService 对象
private UserService userService;
public void setUserService(UserService userService){
this.userService = userService;
}
}
XML 配置:
<bean name="userController" class="com.learning.controller.UserController">
<!-- 依赖注入 -->
<property name="userService" ref="userService"></property>
</bean>
<bean name="userService"
class="com.learning.dao.impl.UserServiceImpl"></bean>
Bean 标签的常用说明
id :为实化对象起名称,根据 id 可以到我们配置的实化对象,id 性的名
称原上可以任意命名,但是能包含任何殊符号;
• class:创建对象所在类的全路径;
name :功能和 id 性一,但是现在一不用;与 id 别在于:name 值里
可以包含特殊符号,但是 id 不可以
scope :一最常用的有两个Singleton 单例模式,个应用程序,创建 bean
的一个实例;Prototype :原型模式,次注入都创建一个新的 bean Spring
默认的是单例模式。
2
)构注入
Java 代码:
public class UserController {
private UserService userService;
public UserController(UserService userService){
this.userService = userService;
}
}
XML 配置:
<bean name="userController" class="com.learning.controller.UserController">
<!-- 依赖注入 -->
<constructor-arg ref="userService"></constructor-arg>
</bean>
<bean name="userService"
class="com.learning.dao.impl.UserServiceImpl"></bean>
3
)注解注入
@Controller
public class UserController {
// 使用注解自动注入
@Autowired()
private UserService userService;
// do something
}
// 创建依赖对象
@Service
public class UserService {
// do something
}
创建依赖对象的常见注解:@Component@Controller@Service@Repository
摘要:

Spring核心功能演示+面试题SpringFramework简称Spring,是Java开发中最常用的框架,地位仅次于JavaAPI,就连近几年比较流行的微服务框架SpringBoot,也是基于Spring实现的,SpringBoot的诞生是为了让开发者更方便地使用Spring,因此Spring在Java体系中的地位可谓首屈一指。当然,如果想要把Spring所有功能都讲的一清二楚,远远不是一两篇文章能够做到的,但幸运的是,Spring的基础资料可以很轻易的搜索到,那么我们本讲主要的目的就是把Spring中的核心知识点和常见面试题分享给大家,希望对大家能有所帮助。Spring介绍Spring是...

展开>> 收起<<
025--Spring核心功能演示+面试题.docx

共13页,预览3页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:计算机 价格:5.9玖币 属性:13 页 大小:29.57KB 格式:DOCX 时间:2024-12-11

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 13
客服
关注