Spring从入门到入土——概述以及HelloWorld

Easter79
• 阅读 598

第一篇本文主要介绍了Spring的基本概念以及如何快速编写一个Spring项目,并让它运行起来。

Spring 概述

优点

  • Spring是一个开源免费的框架、容器
  • Spring是一个轻量级的框架、非侵入式的
  • 控制反转Ioc、面向切面Aop
  • 对事务的支持以及对框架的支持

总之:

spring是一个轻量级的控制反转(Ioc)和面向切面(AOP)的非侵入式框架。

学习网址:Spring-core学习网址

组成

Spring从入门到入土——概述以及HelloWorld

  • 组成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项目,如下图所示:

Spring从入门到入土——概述以及HelloWorld

有一下几点需要特别的注意:

  • 我们需要在依赖关系中手动添加web依赖关系
  • 然后完成属于自己的个性化配置,然后点击生成。

点击生成后我们就会得到一个压缩包,然后只需要解压,然后用idea打开,就完成了一个Spring Boot的创建。

Spring从入门到入土——概述以及HelloWorld

需要手动来引入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);
    }
}

启动程序

启动刚才我们编写的程序

Spring从入门到入土——概述以及HelloWorld

可能遇到的意外情况诸如:8080端口被占用

Spring从入门到入土——概述以及HelloWorld

  • 查看端口8080被那个进程占用

    • netstat -ano | findstr "8080"
  • 查看对应进程号的进程

    • tasklist | findstr "5768"
  • 杀死进程

    • taskkill -pid 进程pid -f

启动成功后访问我们的链接:http://localhost:8080/hello访问页面如下:

Spring从入门到入土——概述以及HelloWorld

因为我们没有拼接我们的名字所以显示的默认名字World,我们也可以在浏览器后面先临时拼接上我们的名字如下所示:

Spring从入门到入土——概述以及HelloWorld

这样我们就完成了第一行代码的编写,并且成功让其运行起来了。这里我们用到的代码,将会在我们日后的学习中学习到,想要继续学习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和计算机基础知识,保证让你看完有所收获,不信你打我
  • 如果看完有不同的意见或者建议,欢迎多多评论一起交流。感谢各位的支持以及厚爱。

Spring从入门到入土——概述以及HelloWorld

欢迎关注公众号“ Java冢狐”,获取最新消息

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
2年前
SSM的基本知识点
\SpringSpring框架是一个容器,它的主要作用是创建和管理对象。Spring框架实现了解耦。Spring框架通过DI实现了IoC。关于Spring框架,必须掌握和理解的:1. Spring的基本概念与特性;2. 常用的注解:通用的4个注解,自动装配的注解;3.
Easter79 Easter79
2年前
springcloud eureka.instance
1.在springcloud中服务的 InstanceID默认值是:${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance\_id:${server.port}},也就是:主机名:应用名:应用端口。如图1
Easter79 Easter79
2年前
Spring简介,搭建Spring环境——轻量级容器框架(一)
Spring是什么?      Spring是一个集成了许多第三方框架的大杂烩,其核心技术是IOC(控制反转,也称依赖注入)和AOP(面向切面编程),所以spring既是一个IoC容器,也是一个AOP框架。知道了什么是Spring是学习的开端,下面说一下为什么使用Spring。为什么使用Spring?
Easter79 Easter79
2年前
Spring与Mybatis环境搭建
SH框架的结合几乎家喻户晓,但是一般的中小项目,使用Spring和MyBatis就够了,而且MyBatis轻便好使,易上手,值得大家尝试一次。  开篇简介:  Spring:Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。两个重要模块:Spring面向方面编程(AOP)和控制反转(IOC)容器。控制反转模
Easter79 Easter79
2年前
Spring常用知识点总结
1\.Spring有哪些优点?  轻量级:Spring在大小和透明性方面绝对属于轻量级的,基础版本的Spring框架大约只有2MB。  控制反转(IOC):Spring使用控制反转技术实现了松耦合。依赖被注入到对象,而不是创建或寻找依赖对象。  面向切面编程(AOP): Spring支持面向切面编程,同时把应用的业务逻辑与系统的服务分离开来
Easter79 Easter79
2年前
Spring的基本应用(1):IDEA版本
一、Spring概述:1.什么是Spring?Spring是分层的JavaSE/EE应用fullstack(一站式)轻量级开源框架,以IoC(InverseOfControl:控制反转)和AoP(AspectOrientedPrograming,面向切面编程)为内核,提供了展现层SpringMVC和持久层Spring
Easter79 Easter79
2年前
Spring概念和Bean管理(配置文件)
Spring概念1.spring是开源的轻量级框架(免费,依赖少,可以直接使用)2.spring核心主要两部分:  (1)aop:面向切面编程,扩展功能不是修改源代码实现  (2)ioc:控制反转,  比如有个类,在类里面有个方法(不是静态方法),调用类里面的方法,需要创建类的对象,使用对象调用方法,创
Wesley13 Wesley13
2年前
Java开发工程师最新面试题库系列——Spring部分(附答案)
Spring1.Spring框架是什么?答:Spring是轻量级的面向切面和控制反转的框架。_初代版本为2002年发布的interface21_,Spring框架是为了解决企业级应用开发的复杂性的出现的,它可以帮助开发人员管理对象之间的关系。能实现模块与模块之间、类与类之间的解耦合,Spring是一个大杂烩,它集成其他
Easter79 Easter79
2年前
Spring知识点提炼
1\.Spring框架的作用清理:Spring是轻量级的,基本的版本大小为2MB控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。面向切面的编程AOP:Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。容器:Spring包含并管理应用中对象
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k