SpringBoot第一天
廖师兄,2小时学会Spring Boot 点击打开链接
使用IDEA创建SpringBoot项目步骤:
1、打开IDEA,创建新项目,选择Spring Initializr
2、输入Artifact(项目名称)
3、选择web
4、点击final
5.进入项目,可以将以下内容删除(不知道为什么)
6、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>cn.sxf</groupId>
<artifactId>upload_ht</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>upload_ht</name>
<description>Demo project for Spring Boot</description>
<!--起步依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--开发web项目相关依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--springboot单元测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<!--maven构建-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
6、创建HelloWorld
package cn.sxf.test;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
/**
* Created by Lenovo on 2018/4/18.
*/
//@Controller
//@ResponseBody
@RestController
public class HelloWorld {
@RequestMapping("/hello")
public String sayHello() {
System.out.println("Hello SpringBoot");
return "Hello";
}
}
7、.程序自动生成的SpringbootdemoApplication,会有一个@SpringBootApplication的注解,这个注解用来标明这个类是程序的入口
package cn.sxf;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* 入口(自动生成)
*/
@SpringBootApplication
public class UploadHtApplication {
public static void main(String[] args) {
SpringApplication.run(UploadHtApplication.class, args);
}
}
@SpringBootApplication开启了Spring的组件扫描和springboot的自动配置功能,相当于将以下三个注解组合在了一起
(1)@Configuration:表名该类使用基于Java的配置,将此类作为配置类
(2)@ComponentScan:启用注解扫描
(3)@EnableAutoConfiguration:开启springboot的自动配置功能
8.运行SpringbootdemoApplication类
9、测试:
在地址栏中输入http://localhost:8080/hello
===========================遇到的坑=================================
如果直接使用@Controller这个注解(没有使用@ResponseBody注解),当运行该SpringBoot项目后,在浏览器中输入:local:8080/hello,会得到如下错误提示:
出现这种情况的原因在于:没有使用模版。即@Controller 用来响应页面,@Controller必须配合模版来使用。spring-boot 支持多种模版引擎包括:
1,FreeMarker2,Groovy
3,Thymeleaf (Spring 官网使用这个)
4,Velocity
5,JSP (貌似Spring Boot官方不推荐,STS创建的项目会在src/main/resources 下有个templates 目录,这里就是让我们放模版文件的,然后并没有生成诸如 SpringMVC 中的webapp目录)
本文以Thymeleaf为例介绍使用模版,具体步骤如下:
第一步:在pom.xml文件中添加如下模块依赖:
<!--模板依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
第二步:在resources目录的templates目录下添加一个Hello.html文件,具体工程目录结构如下:其中,Hello.html文件中的内容为:
<h1>我是模板</h1>
这样,再次运行此项目之后,在浏览器中输入:localhost:8080/hello===========================总结=================================
Spring中@Controller和@RestController之间的区别:
相同点:都是用来表示Spring某个类的是否可以接收HTTP请求
不同点:@Controller标识一个Spring类是Spring MVC controller处理器。
@RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。
注:@RestController是Spring4之后新加入的注解,原来返回json需要@ResponseBody和@Controller配合
举例:下面两中代码是一样的
@Controller
@ResponseBody
public class MyController { }
@RestController
public class MyController { }
引自: https://blog.csdn.net/lom9357bye/article/details/69677120 推荐阅读
-
前后端分离个人博客(Vue+SpringBoot+element ui)
-
SpringBoot整合MyBatis获得插入数据后获取主键,返回值总是1
-
SpringBoot集成JPA
-
SpringBoot | 第二十七章:监控管理之Actuator使用
-
SpringBoot | 第二十七章:SpringBoot属性配置文件详解
-
PHP获取指定日期所在月的第一天和最后一天几个例子
-
用eclipse编写SpringBoot程序的环境搭建
-
IDEA 单元测试报错:Class not found:xxxx springboot
-
(转)java Springboot富文本编辑器ueditor的内容使用itext5导出为pdf文件
-
mysql 怎么获取本月的第一周的第一天是几号