【Spring Boot自学笔记一】项目搭建+Hello World+主页配置
文章目录
关于Spring Boot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
创建Spring Boot
比起创建一个SSM框架的项目,Spring Boot项目的创建极其简单,我们不必再配置大量的xml文件,Spring Boot已经使用大量的自动配置类帮我们解决了这个问题。若要修改部分配置信息,我们只需要在properties文件中添加即可。
笔者将演示使用intellij idea创建一个spring boot项目的全过程,比起一个ssm项目,他将非常简单:
- 新建一个项目,选择Spring Initializr:
- 为自己的项目命名,并选择项目类型(Maven/Gradle),打包方式(jar/war)和java版本,笔者使用Maven创建项目:
- 根据勾选自己需要的包,笔者这里只选择Spring Web以实现一个简单的Web项目:
- 指定项目名和路径,Finish!
创建完后,删除没用的文件,目录如下所示,项目就创建完成了。什么,你说配置Tomcat?除了不需要写xml,Spring Boot不需要我们自己配置Tomcat,它已经帮我们内置了!
Hello World!
新建一个controller包,在包里创建一个控制器。
再次注意,spring boot鼓励使用全注解来代替xml:
@RestController
指定这个类是一个控制器,而Rest会把控制器返回的内容转换成json@RequestMapping
指定请求的链接,我们还可以用其中的method参数指定请求类型(post/get/put/delete),不过有一个更符合规范的方法是使用@PostMapping
/@GetMapping
…来指定请求类型
package com.koorye.demo.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @RequestMapping("/hello") public String index() { return "hello world"; } }
接下来,让我们启动项目:
Spring Boot内置Tomcat的默认端口号是8080:
嗯?怎么是404?不要着急,在url后加上/hello:
这样就得到控制器返回的字符串啦!
设置默认主页
这种方法可以得到想要的内容,可是开头的404怎么解决呢?
方法一 控制器
前期准备
在templates中新建一个index.html,内容随意:
引入thymeleaf包
一定一定要引入thymeleaf(或者其他模板引擎)! 否则spring boot将不会寻找templates目录中的文件:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
实现控制器
注意这里与前面不同,是@Controller
而不是@RestController
! 原因是RestController会把返回数据转换成json,就无法正常解析链接了。
spring boot会自动给index加上前缀templates/和后缀.html ,最后完整路径就是templates/index.html.
还有一点需要注意,spring boot会自动在templates文件夹中寻找名为index.html的文件作为首页 ,所以即使@RequestMapping中设定为任意路径,打开后也会直接跳转到index.html.
package com.koorye.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HelloController { //即使设置成@RequestMapping("/aaabbbccc")也可以找到主页 @RequestMapping("/index") public String toIndex() { return "index"; } }
方法二 配置类
然而,使用控制器跳转页面十分不灵活,我们在这里有更好的办法——配置类。
我们删去原先的Controller类,新建一个config包,新建一个MVCConfig类,输入以下内容。
如之前所说,spring boot会自动给网页名添加前后缀,这里的index会被修改为templates/index.html.
这样,无论是直接访问localhost:8080还是localhost:8080/index,我们都可以找到主页啦。
package com.koorye.demo.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration public class MVCConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/").setViewName("index"); registry.addViewController("/index").setViewName("index"); } }
最后附上完整路径:
- 1.1 使用IntelliJ IDEA搭建Spring-Boot的"Hello World"项目
- springboot+mybatis+freemarker+shiro多模块项目搭建笔记(四)--热部署配置
- Intellij IDEA 搭建Spring Boot项目(三)配置事务和Redis缓存
- 笔记:Spring boot+Thymeleaf+spring-data-jpa简单项目搭建
- Spring boot学习笔记之二:SpringBoot项目属性配置
- Intellij IDEA 搭建Spring Boot项目(三)配置事务和Redis缓存
- springboot+mybatis+freemarker+shiro多模块项目搭建笔记(一)--项目基本搭建
- SpringBoot1-spirng项目快速搭建+maven+spring的基本配置
- Spring Boot学习笔记-项目属性的简单配置
- springboot2.1.4整合和配置(一)—— 使用idea搭建boot maven聚合项目
- Spring Boot项目的搭建和基本配置
- Java框架spring Boot学习笔记(二):Hello Spring Boot、以及项目属性配置
- spring boot 学习笔记(二):项目属性配置
- Intellij IDEA 搭建Spring Boot项目(二)spring-dao的相关配置
- Springboot-activiti学习笔记之springboot项目搭建以及静态资源访问、端口等修改
- spring-boot学习笔记1:spring-boot项目搭建
- springBoot环境配置搭建及创建第一个连接数据库项目
- 微服务学习笔记(二)— Spring Boot — 特点、工程搭建、配置文件
- SpringBoot学习笔记-基础项目搭建
- Eclipse搭建SpringBoot之HelloWorld