springboot学习-搭建第一个springboot应用

简介: 搭建第一个springboot应用

准备:
idea2017、jdk1.8、springboot2.0.3

首先,新建工程,选择Spring Initializr,点击next

image

第二步填写Group及Artifact:

image

第三步,勾选 Dependencies,选择web:

image

最后点击下一步,直到完成创建项目,此时可以将我们暂时用不到的文件删除,如图:

image

项目创建成功,我们运行Bootdemo01Application,可以看到成功启动了默认的8080端口:

image

但在浏览器输入localhost:8080时会出现错误页面,这是因为我们还没有写任何controller,我们新建一个controller,使得在浏览器上展示一些东西

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

/**
* Created by 57783 on 2018/7/4.
*/
@RestController
public class FristController {

   @RequestMapping(value = "/",method = RequestMethod.GET)
   public String HelloWorld(){
       return "HelloWorld";
   }

}

此时运行Bootdemo01Application,我们可以看到谁浏览器打印出HelloWorld。第一个springboot应用就做好了,搭建确实简便了很多。

几个问题:
1、我们看到controller类的注解为@RestController,那么@RestController和@Controller有什么区别呢?
@RestController注解相当于@ResponseBody + @Controller合在一起的作用。
如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。
如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。
现在都讲前后端分离,传输的都是json,很少用jsp页面了,那@RestController可能用的更多一些。

2、如果8080端口被占用了,我们希望使用别的端口访问怎么办?
工程下resources/application.properties里面加上:server.port=8081即可

3、如何读取配置文件中的信息?
在resources下有一个默认的配置文件application.properties,我们在项目中不使用properties配置文件,而是使用更加方便简洁的yml文件。项目结构:

image

我们举实例来了解一下读取配置文件数据的方法:
首先,在yml中配置一个用户信息,包含用户名及密码:

server:
  port: 8080
username: xiaozhi
password: 12345

在Controller中使用@Value注解读取该配置信息:
package com.javazhiyin;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

/**
* Created by 57783 on 2018/7/4.
*/
@RestController
public class FristController{

    @Value("${username}")
    private String username;

    @Value("${password}")
    private String password;

    @RequestMapping(value = "/",method = RequestMethod.GET)
    public String HelloWorld(){
        return "用户名:"+username+";"+"密码:"+password;
    }

}

此时,访问localhost:8080,出现如下页面:

image

就可以看到springboot读取配置文件成功了。

原文发布时间为:2018-07-11
本文作者:后端君
本文来自云栖社区合作伙伴“ Java知音”,了解相关信息可以关注“ Java知音

相关文章
|
7天前
|
前端开发 Java 开发者
Spring生态学习路径与源码深度探讨
【11月更文挑战第13天】Spring框架作为Java企业级开发中的核心框架,其丰富的生态系统和强大的功能吸引了无数开发者的关注。学习Spring生态不仅仅是掌握Spring Framework本身,更需要深入理解其周边组件和工具,以及源码的底层实现逻辑。本文将从Spring生态的学习路径入手,详细探讨如何系统地学习Spring,并深入解析各个重点的底层实现逻辑。
28 9
|
16天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
27天前
|
前端开发 Java 数据库
SpringBoot学习
【10月更文挑战第7天】Spring学习
34 9
|
28天前
|
XML Java 数据格式
Spring学习
【10月更文挑战第6天】Spring学习
19 1
|
1月前
|
Java 测试技术 开发者
springboot学习四:Spring Boot profile多环境配置、devtools热部署
这篇文章主要介绍了如何在Spring Boot中进行多环境配置以及如何整合DevTools实现热部署,以提高开发效率。
54 2
|
1月前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
68 1
|
1月前
|
Java API Spring
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中拦截器的入门教程和实战项目场景实现的详细指南。
23 0
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
|
1月前
|
Java API Spring
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中过滤器的基础知识和实战项目应用的教程。
22 0
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
|
1月前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
57 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
1月前
|
Java 关系型数据库 MySQL
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
这篇文章是关于如何使用Spring Boot框架通过JdbcTemplate操作MySQL数据库的教程。
22 0
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql