栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java > SpringBoot

SpringBoot之路(4)--SpringBoot Web应用开发

SpringBoot 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot之路(4)--SpringBoot Web应用开发

使用场景

Web应用是项目开发中的主流应用,门户、新闻、博客、线上学习等使用场景都需要Web应用。使用Spring Boot,只需简单几步即可完成Web应用构建:

  1. 导入模板项目
  2. 修改pom.xml,引入项目依赖
  3. 编写控制器,提供服务接口
  4. 编写配置文件,配置项目信息
导入模板项目

Spring Boot项目基本结构都是相同的,所以我们可以使用Spring Initializr(Spring初始化器)直接生成一个模板项目,如下图:

  • Project选择Maven Project,表示项目基于Maven构建。
  • Language选择Java,表示使用Java作为开发语言
  • Spring Boot的版本我们选择了2.2.4,注意不同版本的Spring Boot在配置和开发上有所区别,此处选择比较稳定的2.2.4版本即可。
  • Group用来区分开发组织,为了避免与其他公司出现重复,一般使用公司域名倒置的形式。
  • Artifact是项目唯一标识,保证本公司内Artifact不重复即可。

Tips:
生成项目后直接导入Eclipse或IDEA即可,如果使用IDEA还可以使用向导创建Spring Boot项目。

修改pom.xml,引入项目依赖

Spring Boot为Web应用提供了spring-boot-starter-web,直接引入该依赖即可直接进行Web应用开发。

	 	
			org.springframework.boot
			spring-boot-starter-web
		

当Spring Boot发现pom配置中的spring-boot-starter-web后,便自动为我们配置了以下内容:

  • 配置SpringMVC所需的ViewResolver/Converter/HttpMessageConverter等组件。
  • 配置默认使用嵌入式tomcat作为web容器,默认使用8080端口。
  • 配置src/main/resources/static为静态资源存放目录

通过自动配置,我们只需要引入一个依赖,即完成了搭建Web应用的工作。

此时,pom.xml全部代码如下:



	4.0.0
	
		org.springframework.boot
		spring-boot-starter-parent
		2.2.4.RELEASE
		 
	
	com.forwhatsogood
	spring-boot-helloweb
	0.0.1-SNAPSHOT
	spring-boot-helloweb
	Demo project for Spring Boot
	
		1.8
	
	
		
			org.springframework.boot
			spring-boot-starter
		
		
		
			org.springframework.boot
			spring-boot-starter-web
		
		
			org.springframework.boot
			spring-boot-starter-test
			test
			
				
					org.junit.vintage
					junit-vintage-engine
				
			
		
	
	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	

编写控制器,提供服务接口

通过@RestController注解,将类注册为控制器,此时该类具备了响应Http请求的功能,同时会将方法的返回值序列化为JSON。通过@RequestMapping注解,设定了类和方法的访问路径。
代码如下:

@RestController//注册为控制器,可响应web请求,同时将方法返回值序列化为JSON
@RequestMapping("/hello")//类访问路径,本类下所有方法访问都需要已/hello开头
public class HelloController {
	@RequestMapping("web")//方法访问路径,此时该方法访问路径为/hello/web
	public Map web() {
		Map map=new HashMap();
		map.put("path","/hello/web");
		return map;
	}
}

此时直接运行启动类,启动Spring Boot项目,访问http://localhost:8080/hello/web,结果如下:

可见响应请求成功,且返回值为json格式。

Tips:
SpringBoot默认扫描启动类所在包及其子包,如果控制器不在启动类所在包及其子包,可在启动类添加@ComponentScan(basePackages = {"包1","包2"})注解手动指定扫描包。注意!此时默认扫描机制被关闭,需要逐一手工指定所有需要扫描的包。

Tips:
@RestController是组合注解,同时具备注册控制器和返回结果序列化功能。如果使用@Controller提供控制器功能,则需要在方法上添加@ResponseBody将方法返回结果序列化为JSON。

编写配置文件,配置项目信息

直接在application.properties中配置项目的启动端口及访问路径信息:

# 配置项目启动端口为8000
server.port=8000
# 配置项目访问根路径为/demo
server.servlet.context-path=/demo

重启程序,访问地址变为:

# 原访问地址 http://localhost:8080/hello/web
# 新访问地址添加了项目访问的根路径/demo
http://127.0.0.1:8000/demo/hello/web

Tips:
注意springboot2.0之前,配置访问根路径语法为server.context-path=/demo

总结

使用SpringBoot时,根据使用场景引入整合的依赖项如spring-boot-starter-web,直接将场景相关的依赖全部导入,同时自动配置相关的Bean组件,达到开箱即用的效果。

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号