共计 2898 个字符,预计需要花费 8 分钟才能阅读完成。
第一篇本文次要介绍了 Spring 的基本概念以及如何疾速编写一个 Spring 我的项目,并让它运行起来。
Spring 概述
长处
- Spring 是一个开源收费的框架、容器
- Spring 是一个轻量级的框架、非侵入式的
- 管制反转 Ioc、面向切面 Aop
- 对事务的反对以及对框架的反对
总之:
spring 是一个轻量级的管制反转(Ioc)和面向切面(AOP)的非侵入式框架。
学习网址:Spring-core 学习网址
组成
- 组成 Spring 框架的每个模块都能够独自存在,或者与其余一个或多个模块联结实现:
-
- 外围容器:外围容器提供 Spring 框架的基本功能,次要组件是 BeanFactory,是工厂模式的实现。其 BeanFactory 应用管制反转(IOC)模式将利用水平的配置和依赖性标准与理论的利用程序代码离开
- Spring 上下文:是一个配置文件,向 Spring 框架提供上下文信息。其次要包含:企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度性能
- Spring AOP:通过配置管理个性,将面向切面的编程性能,集成到了 Spring 框架中,所以能够很不便的使 Spring 框架治理任何反对 AOP 的对象。也为基于 Spring 的应用程序中的对象提供了事务管理服务。应用 SpringAOP 能够不依赖组件,就能够将申明性事务管理集成到应用程序中。
- Spring DAO:Spring DAO 形象层提供了有意义的异样层次结构,能够用该构造来治理异样解决和不同数据库供应商抛出的错误信息。异样层次结构简化了谬误的解决,并且升高了须要编写的异样代码数量。
- Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包含 JDO、Hibernate 和 iBatis SQL Map。所有这些都听从 Spring 的通用事务和 DAO 异样层次结构。
- Spring Web 模块:Web 上下文模块建设在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架反对与 Jakarta Struts 的集成。Web 模块还简化了解决多局部申请以及将申请参数绑定到域对象的工作。
- Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 包容了大量视图技术,其中包含 JSP、Velocity、Tiles、iText 和 POI。
现代化的 Java 开发
- Spring Boot:构建所有
-
- 一个疾速开发的脚手架,能够疾速开发单个微服务。
- 约定大于配置
- Spring Cloud:协调所有
-
- SpringCloud 是基于 SpringBoot 实现的
- Spring Cloud Data Flow:连贯所有
Hello World
通过下面的介绍咱们晓得了 Spring 的长处以及 Spring 的组成,上面咱们就通过官网的指引来疾速开始建设一个 Spring Boot 我的项目
开始一个 Spring Boot 我的项目
应用疾速开始来创立一个 web 我的项目,如下图所示:
有一下几点须要特地的留神:
- 咱们须要在依赖关系中手动增加 web 依赖关系
- 而后实现属于本人的个性化配置,而后点击生成。
点击生成后咱们就会失去一个压缩包,而后只须要解压,而后用 idea 关上,就实现了一个 Spring Boot 的创立。
须要手动来引入 pom 文件
编写本人的代码
在 Application.java 文件是咱们的启动文件,也是咱们程序的主办法,在外面咱们能够编写咱们本人的代码,如下所示
package com.zhonghu.springhelloworlddemo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
// 应用此注解将类被标记为 Controller,并且 Controller 类中的办法返回值不会解析为门路跳转,只会返回一个字符串在 response 中。@RestController
public class SpringHelloworldDemoApplication {public static void main(String[] args) {SpringApplication.run(SpringHelloworldDemoApplication.class, args);
}
// 通知 Spring 咱们用 hellodemo 办法来响应 /hello
@GetMapping("/hello")
//@Requestparam 通知 Spring 在申请中冀望的一个值,如果不存在,则应用前面的默认值
public String hellodemo(@RequestParam(value = "name",defaultValue="World")String name){return String.format("Hello %s!",name);
}
}
启动程序
启动方才咱们编写的程序
可能遇到的意外状况诸如:8080 端口被占用
- 查看端口 8080 被那个过程占用
- netstat -ano | findstr “8080”
- 查看对应过程号的过程
- tasklist | findstr “5768”
- 杀死过程
- taskkill -pid 过程 pid -f
启动胜利后拜访咱们的链接:http://localhost:8080/hello 拜访页面如下:
因为咱们没有拼接咱们的名字所以显示的默认名字 World,咱们也能够在浏览器前面先长期拼接上咱们的名字如下所示:
这样咱们就实现了第一行代码的编写,并且胜利让其运行起来了。这里咱们用到的代码,将会在咱们日后的学习中学习到,想要持续学习 Spring 相干的常识请继续关注我!
总结
- spring 是一个轻量级的管制反转(Ioc)和面向切面(AOP)的非侵入式框架。
- Spring 的组成
-
- Spring Core:外围容器
- Spring AOP:通过配置管理个性,面向 Spring 切面的编程性能
- Spring ORM:对象——关系映射
- Spring DAO:DAO 形象层
- Spring Web:提供了创立 Web 应用程序的反对
- Spring context:是一个配置文件,向 Spring 框架提供上下文信息
- Spring Web MVC
最初
- 如果感觉看完有播种,心愿能给我点个赞,这将会是我更新的最大能源,感激各位的反对
- 欢送各位关注我的公众号【java 冢狐】,专一于 java 和计算机基础知识,保障让你看完有所播种,不信你打我
- 如果看完有不同的意见或者倡议,欢送多多评论一起交换。感激各位的反对以及厚爱。
欢送关注公众号“Java 冢狐”,获取最新消息
正文完