【10分钟学Spring】:(一)初识Spring框架
简介
Spring是一个轻量级的企业级的Java开发框架。主要是用来替代原来更加重量级的企业级Java技术,比如EJB(Enterprise JavaBean)、Java数据对象(Java Data Object)等。Spring的出现极大简化了Java开发。
另外Spring框架是一个一体化的框架,它不仅能无缝对接比如Struts、Hibernate等传统框架,也能很好地同其他各种企业级开发组件(比如Redis、MQ、Mybatis等)集成。
Spring发展到现在,已经不仅仅是一个开发框架了,而是一个生态。Spring框架本身提供了大量可集成到应用中组件,SpringBoot通过“约定优于配置的思想”进一步提高了开发效率,成为构建微服务应用的最佳选择,SpringCloud则提供了一套分布式工具组件,让构建分布式系统更加简单。
Spring就是要简化Java开发
Spring一直致力于简化Java开发使命中,为了降低Java开发的复杂性,Spring通过如下4种关键策略来简化Java开发:
- 基于POJO的轻量级和最小侵入性编程;
- 通过依赖注入和面向接口编程实现松耦合;
- 基于切面和惯例进行声明式编程;
- 通过切面和模板减少样板式代码。
Spring框架中的几个重要概念
依赖注入(DI)
对象之间的依赖关系,不再由对象自身来维护了。而是由spring负责管理了。依赖关系将会由spring负责自动注入到需要的对象中。
切面编程(AOP)
应用中的一些横切关注点,比如日志、安全、事务管理等,各个模块都需要的服务,不应该耦合在各个业务模块中来。应该单独抽离出来成为一个切面,实现解耦。Spring提供了AOP的支持,可以通过配置实现切面编程。
Ioc容器(ApplicationContext)
在基于Spring的应用中,你的所有Bean对象都存在于Spring容器中,容器负责创建和管理他们的整个生命周期。ApplicationContext应用上下文对象是Spring容器的一种实现。通过应用上下文对象我们可以获取应用中bean。
Spring模块概述
一图胜千言

可以看到spring其实包含了20多个不同的模块。
1、spring核心容器,包含四大模块,分别是Beans、Core、Context和SpEL。这是构成spring框架的核心组件。
2、再网上是AOP、Aspects切面编程相关组件,Instrunmentation是JVM添加代理,Messaging消息代理。
3、JDBC、ORM、JMS等数据访问组件。
4、Servlet、WebScoket等web层相关组件。
5、最后spring也提供了测试模块,可以集成Junit单元测试等。
推荐几个Spring学习途径
1、 当然优先是spring官网,查看官方文档学习

2、W3Cschool

3、CSDN或博客园等技术文章
【10分钟学Spring】:(一)初识Spring框架的更多相关文章
- 【10分钟学Spring】:@Profile、@Conditional实现条件化装配
根据不同的环境来装配不同的bean 企业级开发中,我们一般有多种环境,比如开发环境.测试环境.UAT环境和生产环境.而系统中有些配置是和环境强相关的,比如数据库相关的配置,与其他外部系统的集成等. 如 ...
- 【10分钟学Spring】:(二)一文搞懂spring依赖注入(DI)
Spring最基础的特性就是创建bean.管理bean之间的依赖关系.下面通过具体实例演示该如何装配我们应用中的bean. Spring提供了三种主要的装配机制 在xml中进行显示的配置 在Java中 ...
- 带你学够浪:Go语言基础系列 - 10分钟学方法和接口
文章每周持续更新,原创不易,「三连」让更多人看到是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 对于一般的语言使用者来说 ,20% 的语言特性就能够满 ...
- 这是我见过最简单的博客文只有一张图,Python基础10分钟学完
- 10分钟了解 pandas - pandas官方文档译文 [原创]
10 Minutes to pandas 英文原文:https://pandas.pydata.org/pandas-docs/stable/10min.html 版本:pandas 0.23.4 采 ...
- 10分钟详解Spring全家桶7大知识点
Spring框架自2002年诞生以来一直备受开发者青睐,它包括SpringMVC.SpringBoot.Spring Cloud.Spring Cloud Dataflow等解决方案.有人亲切的称之为 ...
- 初识Spring Boot框架(二)之DIY一个Spring Boot的自动配置
在上篇博客初识Spring Boot框架中我们初步见识了SpringBoot的方便之处,很多小伙伴可能也会好奇这个Spring Boot是怎么实现自动配置的,那么今天我就带小伙伴我们自己来实现一个简单 ...
- 初识 Spring 框架
初识 Spring 框架可以帮助我们构建规范的.优秀的应用程序,简化烦琐的编码过程. Spring 是一个非常著名的轻量级的企业级开源框架,Spring 的目标是使 Java EE 更易用并促进良好的 ...
- 04 Spring:01.Spring框架简介&&02.程序间耦合&&03.Spring的 IOC 和 DI&&08.面向切面编程 AOP&&10.Spring中事务控制
spring共四天 第一天:spring框架的概述以及spring中基于XML的IOC配置 第二天:spring中基于注解的IOC和ioc的案例 第三天:spring中的aop和基于XML以及注解的A ...
随机推荐
- oracle数据库锁表,什么SQL引起了锁表?ORACLE解锁的方法
--查询数据库锁表记录 select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.l ...
- Maven多模块项目介绍和搭建
http://www.open-open.com/lib/view/open1418263515855.html
- vue+element UI + axios封装文件上传及进度条组件
1.前言 之前在做项目的时候,需要实现一个文件上传组件并且需要有文件上传进度条,现将之前的实现过程简单记录一下,希望可以帮助到有需要的人. 项目用的是Vue框架,UI库使用的是element UI,前 ...
- MySQL系列:走进数据库,相关概念你都明白吗?
数据库,一个我们常常提到的名词,但是你有没有想过,它到底是什么意思呢,而我们常说的 MySQL.Oracle 等又到底指什么呢? 数据库 数据库(DataBase),简称 DB,是数据库是存储数据的集 ...
- 002.Kubernetes简单入门实例
一 环境准备 1.1 基础环境 Kubernetes模式:单机版 系统环境:CentOS 7/172.24.9.157 部署方式:yum快速部署 其他设置:开启NTP.关闭防火墙及SELinux 二 ...
- mysql用find_in_set代替like搜索提高性能
mysql用find_in_set代替like搜索提高性能 <pre>SELECT * from mobantestinfo1 where find_in_set('33',info2); ...
- 大宇java面试系列(三):Redis常见面试题
1. Redis 是什么?都有哪些使用场景? 我们先来理解经典的CAP理论: 一致性:是指从数据层面来看的一致性. 可用性:是指从系统层面的可用性. 容错性:是指从网络层面的的容错性. 数据库逐渐从关 ...
- .net 上传文件:超过了最大请求长度
修改 web.config: 该方法是.net框架限制 添加: <system.web> ... ... <httpRuntime ... maxRequestLength=&q ...
- Typescript I: 遍历Array的方法:for, forEach, every等
Typescript的官方文档 Iterators and Geneators (https://www.typescriptlang.org/docs/handbook/iterators-and- ...
- 018.Kubernetes二进制部署插件coredns
一 修改配置文件 1.1 下载解压 [root@k8smaster01 ~]# cd /opt/k8s/work/kubernetes/ [root@k8smaster01 kubernetes]# ...