SpringFramework5.0⼊门教程
1. 为什么学习Spring?
随着对Java EE的不断接触和理解,你会发现Spring 在各个企业和项⽬中发挥着越来越重要的作⽤。掌握Spring 已成为我们IT ⾏业⽣存必学的本领之⼀。
1. Spring Framework 是⼀个开源的Java/Java EE全功能栈(full-stack)的应⽤程序框架,以Apache许可证形式发布,
也有.NET平台上的移植版本。
2. 该框架基于 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)⼀书中的代码,最初由Rod
Johnson和Juergen Hoeller等开发。
3. Spring Framework提供了⼀个简易的开发⽅式,这种开发⽅式,将避免那些可能致使底层代码变得繁杂混乱的⼤量的属
性⽂件和帮助类。
Spring Framework 当前最新版本是Spring Framework 5,当你打开官⽹,你应该能够看到官⽹的宣传图⽚
这⾥有个相关的新闻有兴趣可以看下,中⽂版点击查看
根据官⽹动态和我所了解的信息来看,Spring 官⽹还会继续⽀持Spring MVC,因为它还有很多改进的地⽅。
但是未来的趋势我认为必将是Spring Boot+ SpringWeb Flux + Spring Cloud .
那么Spring MVC 和 Spring Web Flux 两者有何区别呢?
官⽹对此给出了这样⼀张对⽐图:
翻译下就是:
1. Spring MVC基于servlet API构建,并使⽤⼀个同步阻塞I / O体系结构和⼀个单线程请求线程模型的Web 框架
2. Spring WebFlux是⼀个⾮阻塞的Web框架,从该组建⽴起,利⽤多核,下⼀代处理器和⼤量并发连接。
总结:
1. Spring MVC 是基于Servlet API 构建的同步阻塞式I/O 的Web 框架。
2. Spring WebFlux 是⼀种更优秀的⾮阻塞式Web框架,⽽且能更好处理⼤量并发连接。
看到这⾥,相信此时聪明的你应该晓得为什么我之前会那么说了吧。
2. Spring 官⽹介绍
上⾯这些链接相信很多⼈都知道,但是其实往往我们不是很清楚什么时候⽤哪个链接。
Spring 官⽹:关注Spring 官⽹动态,最新的Spring 技术和版本发布公告
Spring ⽂档: what you want to do ? 你想开发⼀个什么样的项⽬?可以在这⾥快速到相关介绍和⽂
档。
springboot aop
Spring IDE: 如果你打算⽤Eclipse 版本,那么我推荐⽤官⽹这个STS,因为它应该是最友好⽀持Spring的Eclipse 版本。当然,如果如果条件可以,我还是强烈推荐你使⽤Intellij Idea.
Spring Project: 这⾥是按照项⽬模块划分的,⽐如从配置到安全,Web应⽤程序到⼤数据,想学习哪个就按照分类去学即可。
项⽬⽣成器:这⾥是Spring 官⽹提供的⼀个⾮常便利的⼯具,需要哪些依赖,哪个版本,在这⾥配置下然后下载即可。
3. Spring Framework
Spring Framework核⼼⽀持依赖注⼊,事务管理,Web应⽤程序,数据访问,消息传递,测试和更多
3.1 介绍
Spring框架为现代基于Java的企业应⽤程序提供了⼀个全⾯的编程和配置模型 - 在任何类型的部署平
台上。
Spring的⼀个关键元素是应⽤程序级别的基础架构⽀持:Spring着重于企业应⽤程序的“管道”,以便团队可以专注于应⽤程序级业务逻辑,⽽不必与特定部署环境形成不必要的联系。
3.2 功能特点
1. 核⼼技术:依赖注⼊,事件,资源,i18n,验证,数据绑定,类型转换,SpEL,AOP。
2. 测试:模拟对象,TestContext框架,Spring MVC测试,WebTestClient。
3. 数据访问:事务,DAO⽀持,JDBC,ORM,编组XML。
4. Spring MVC和Spring WebFlux Web框架
5. 整合:远程处理,JMS,JCA,JMX,电⼦邮件,任务,调度,缓存。
6. 语⾔:Kotlin,Groovy,动态语⾔。
Tips:这⾥加⼀张官⽹⽂档中的⼀个截图吧,相信有助于你更好地理解。
3.3 最低要求
1. JDK 8+ for Spring Framework 5.x
2. JDK 6+ for Spring Framework 4.x
3. JDK 5+ for Spring Framework 3.x
Tips: 所以你的电脑现在推荐使⽤ JDK1.8+
3.4 快速开始
在项⽬中开始使⽤spring-framework的推荐⽅法是使⽤依赖管理系统 - 下⾯的代码⽚段可以复制并粘贴到您的构建中。需要帮忙?请参阅我们有关使⽤ Maven 和 Gradle 构建的⼊门指南。
其实不⽌Spring 官⽹我们如今的各⼤公司应该⼤多数也推荐我们是⽤Maven和Gradle 来管理项⽬Jar包依赖。
如果你使⽤的Maven:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId> spring-context</artifactId>
<version>5.1.0.BUILD-SNAPSHOT</version>
</dependency>
</dependencies><repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>repo.spring.io/libs-snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
如果你是⽤的是Gradle
dependencies {
compile 'org.springframework: spring-context:5.1.0.BUILD-SNAPSHOT'
}repositories {
maven {
url 'repo.spring.io/libs-snapshot'
}
}
Tips: 其实我觉得Gradle应该是⼀种⽐Maven更先进的版本依赖管理⼯具,不过如今各⼤公司使⽤Gradle 似乎还不是很多,也许是与因为Eclipse 对Gradle 的⽀持还不够像Intellij Idea 那么完美吧。
Spring框架包含许多不同的模块。这⾥我们展⽰了提供核⼼功能的spring-context。有关其他选项,请参阅右侧的⼊门指南。⼀旦你使⽤spring-context依赖关系设置你的构建,你就可以做到以下⼏点:
到这⾥后官⽹有些不详细,补充下。
⽅法⼀:使⽤STS ⼯具构建这个带有Spring-context 上下⽂的项⽬
准备⼯作:
1. JDK 1.8
2.  STS IDE
Tips: 下载的时候有个坑注意下,如果你的JDK是64位,默认直接下载的STS是32位,会出现这个错误。
这⾥下载完成后我们在我们的IDE空⽩处,右键——> New——>
输⼊maven 搜索,选择Maven Project,创建⼀个Maven项⽬
选择默认的⼯作空间

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。