Spring概述
Spring 框架为任何类型的部署平台上的基于 Java 的现代企业应用程序提供了全面的编程和配置模型。
简单来说,Spring 是一个免费开源框架,为了简化企业级项目开发,提供全面的开发部署解决方案。
Spring体系结构介绍
结构图解释
- 持久层的部分,是 Spring 对数据持久化,事务管理,支持的功能框架
- 表现层的部分,是 Spring 对于表现层数据的处理部分的支持。
- 最底部的负责测试的部分 是 Spring 对于项目的测试 提供了完整的一个测试环境支持
- 中间的两部分 是我们大家常常俗称的 Spring 框架,也是Spring的核心功能。
Spring的核心功能
-
控制反转(IOC)
简单理解IOC是一种设计模式,将实例化对象的控制权有手动的使用关键字new创建,演变为Spring框架通过反射机制实例化类对象,而通过反射创建出来的对象会存入Spring容器中进行统一的管理;在需要使用对象的时候,去从Spring容器中取。
-
依赖注入(DI)
首先理解依赖,我们程序间的运行时相互依赖的,比如我们的三层架构,web层,业务逻辑层,数据访问层之间就是互相依赖的,当一个类中依赖另一个类的对象的时候(一个类中的属性为某个其余的类),我们可以从Spring容器中获取已创建的对象,注入给依赖的属性,而不用手动进行创建;这个过程称之为依赖注入。
依赖注入的方法有两中,一是通过配置Spring的配置文件, 二是使用Spring提供的注解。
-
面向切面编程(AOP)
在 Spring 中,切面编程指的就是在程序运行某个方法的时候,不修改原始执行代码逻辑,由程序动态地执行某些额外的功能,对原有的方法做增强,这就叫做面向切面编程,那个被监测的执行方法,称呼为切入点。
Spring的优点
-
Spring 简化项目开发
通过 Spring 提供的 IoC 容器,可以将对象间的依赖关系交由 Spring 进行控制,避免硬编码所造成的过度程序耦合。使用户更专注于业务的实现,不必再编写单例模式、解析文件等底层代码,提高开发效率。
-
Spring 的面向切面编程
Spirng 框架的 AOP 面向切面编程,极大地提高了程序的扩展性,支持开发人员实现对程序的自定义增强。同时可以方便地使用 Spring 提供的事务管理。
-
面向接口编程
面向接口编程 降低代码的耦合性,同时也提高了代码的扩展性。
-
测试方便
Spring支持了很多测试的组件。
-
方便集成第三方框架
Spring 可以降低各种框架的使用难度,提供了对各种优秀框架的直接支持,Spring是一款包容性很强的框架。
Spring的入门使用
-
创建Maven工程
补全坐标
-
在pom.xml中引入spring上下文坐标
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.myproject</groupId> <artifactId>spring_threshold</artifactId> <version>1.0-SNAPSHOT