Java 微服务 day01 源代码 SpringBoot的SpringMVC快速入门
Posted 蓝盒子bluebox
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 微服务 day01 源代码 SpringBoot的SpringMVC快速入门相关的知识,希望对你有一定的参考价值。
一、SpringBoot
1、SpringBoot相关概念
SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。
另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
SpringBoot所具备的特征有:
(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
(2)内嵌Tomcat或Jetty等Servlet容器;
(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
(4)尽可能自动配置Spring容器;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要XML配置。
SpringBoot框架中还有两个非常重要的策略:开箱即用和约定优于配置。
开箱即用,Outofbox,是指在开发过程中,通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。这个特点使得开发人员摆脱了复杂的配置工作以及依赖的管理工作,更加专注于业务逻辑。
约定优于配置,Convention over configuration,是一种由SpringBoot本身来配置目标结构,由开发者在结构中添加信息的软件设计范式。
这一特点虽降低了部分灵活性,增加了BUG定位的复杂性,但减少了开发人员需要做出决定的数量,同时减少了大量的XML配置,并且可以将代码编译、测试和打包等工作自动化。
SpringBoot应用系统开发模板的基本架构设计从前端到后台进行说明:
前端常使用模板引擎,主要有FreeMarker和Thymeleaf,它们都是用Java语言编写的,
渲染模板并输出相应文本,使得界面的设计与应用的逻辑分离,
同时前端开发还会使用到Bootstrap、AngularJS、JQuery等;
在浏览器的数据传输格式上采用Json,非xml,同时提供RESTfulAPI;
SpringMVC框架用于数据到达服务器后处理请求;
到数据访问层主要有Hibernate、MyBatis、JPA等持久层框架;
数据库常用mysql;开发工具推荐IntelliJIDEA。
二、SpringBoot快速入门
1、创建工程
springboot-demo
2、修改pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itzheng.demo</groupId>
<artifactId>springboot-demo</artifactId>
<version>1.0.0-SNAPSHOT</version>
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.0.4.RELEASE</version>
</parent>
</project>
3、进行SpringMVC开发直接在pom.xml当中添加依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
4、创建相关的类
package com.itzheng;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class BootDemoApplication {
public static void main(String[] args) {
SpringApplication.run(BootDemoApplication.class,args);
}
}
5、运行项目访问项目
运行成功
访问项目
http://localhost:8080/
6、创建对应的控制层
package com.itzheng.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@GetMapping("hello")
@ResponseBody
public String hello(){
return "hello, spring boot !";
}
}
7、重新运行项目
访问:http://localhost:8080/hello
8、方案二
package com.itzheng.web;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("hello")
public String hello(){
return "hello, spring boot !";
}
}
再次运行项目效果一样
以上是关于Java 微服务 day01 源代码 SpringBoot的SpringMVC快速入门的主要内容,如果未能解决你的问题,请参考以下文章
Java 微服务之 SpringCloud快速入门day01 初始SpringCloud
Java 微服务 day01 源代码 SpringBoot的SpringMVC快速入门
Java 微服务 day02 源代码 SpringBoot 属性注入 自动配置
Java 微服务 day02 源代码 SpringBoot 实战开发 SpringMVC高级配置:拦截器:HandlerExecutionChain