一.spring的概述
-
1.spring是什么?
spring是分层的JavaSE/EE应用full-stack轻量级应用,以IOC(Inverse Of Control::控制反转)与 AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层Spring MVC和持久层Spring JDBC以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE企业级级应用框架。比如后期我们要学习的Spring MVC、Spring Boot、Spring Cloud,都是为了简化开发而存在,Spring MVC框架是解决视图层,现在发展已经非常好,尤其是Spring Boot,学习Spring Boot建议先学习Spring, Boot翻译过来就是启动的意思,Spring Boot意思就是快速启动Spring框架!还有Spring是开源的,且长期维护,是Java开源项目是顶尖的,一定要卡spring源码,一般在面试也会问到的。 -
2.为什么要使用Spring
spring在一定程度上让我们的开发变得不再那么复杂,其目标是简化Java EE企业级开发应用,spring除了不能帮我们实现逻辑业务代码,其它方面都尽最大程度帮我们简化了开发,这也是它火、通用的原因之一。Spring框架为任何类型的部署平台上的基于Java的现代企业应用程序提供了全面的编程和配置模型。
Spring的一个关键元素是在应用程序级别的基础架构支持:Spring专注于企业应用程序的“管道”,以便团队可以专注于应用程序级别的业务逻辑,而不必与特定的部署环境建立不必要的联系。 -
2.spring的两大核心
IOC(Inverse Of Control::控制反转):Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它
AOP(Aspect Oriented Programming:面向切面编程:Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持
-
3.spring的发展历程和优势
1997年IBM提出了EJB的思想
1998年SUN制定了开发标准规范EJB1.0
1999年EJB1.0发布
2001年EJB2.0发布
2003年EJB2.1发布
2006年EJB3.0发布
Spring之父:Rod Johnson
Spring的形成,最初来自Rod Jahnson所著的一本很有影响力的书籍《Expert One-on-One J2EE Design and Development》,就是在这本书中第一次出现了Spring的一些核心思想,该书出版于2002年。另外一本书《Expert One-on-One J2EE Development without EJB》,更进一步阐述了在不使用EJB开发JAVA EE企业级应用的一些设计思想和具体的做法。 -
4.spring 体系结构
-
5…程序的耦合以及解耦
spring的优势:简化开发,通过spring提供的IOC容器,可以将对象间的依赖关系交由Spring进行控制,避免使用硬编码所造成的过度程序耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求写代码,可以更专注于上层的应用。
二.Spring中的Hello World程序入门
我们程序员入门对每门技术的入门离不开入门案例,
现在做一个小Demo,方便理解,感受一下Spring 的魅力
环境:JDK1.8+Idea+Maven+Spring-5.1.3.Release
-
1.第一步:使用Idea创建一个web项目
-
2.第二步:创建servlet,sevlet中写业务代码,spring基于servlet实现的,学习spring需要学习servlet,它是基础,学完能让你更深刻的理解spring
-
3.第三步:在web.xml配置信息
-
4.将项目放到Tomcat中运行
File-New-Project
Spring Initiallar
填写Group与Artifact坐标信息
勾选Lombok
Web-Spring Web
Finish
项目结构:
写逻辑代码:写一个controller
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/helloWorld")
public class HelloWorldController {
@RequestMapping("/index")
public String index() {
return "hello world!";
}
}
打开你的浏览器,访问下面地址:http://localhost:8080/helloWorld/index
总结:这篇博客主要是让大家了解一下spring是什么,不得不说spring是一个非常优秀的java框架,这个框架就是为为了简化企业级开发而生、结合各种技术的框架,只要深入学习,就会发现spring的作用及好处!下一篇博文打算介绍spring的AOP与IOC,哈哈。。。。。。