博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Boot 项目学习 (一) 项目搭建
阅读量:5327 次
发布时间:2019-06-14

本文共 5090 字,大约阅读时间需要 16 分钟。

引言

  本文主要记录借用Idea 开发环境下,搭建 Spring Boot 项目框架的过程。

系列文档目录

第一个Spring boot web 程序

  什么是 Spring Boot:spring boot=spring+spring mvc+一堆java技术栈的相关框架+约定大于配置的思想。

  spring boot 并不是一项新的技术,就像ajax一样,而是各种已有技术的一个组合。它的出现,将极大地提高java应用的开发效率。同时,它的出现,彻底颠覆了以往我对java的认识(除了配置,TMD还是配置)。轻量级、可插拔、微服务。

2.1 构建项目

我们先来看下pom.xml,它是maven来管理各种jar包依赖的一个配置文件,是一个包管理工具。

4.0.0
org.springframework.boot
spring-boot-starter-parent
2.1.5.RELEASE
com.jaminhuang
springboot
1.0
springboot
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
View Code

配置主入口

  修改主配置入口类,并去掉控制台输出的Banner图标。(当然,这里不做任何处理也没有关系,只是去除图标后,显得更为清晰

@SpringBootApplicationpublic class Application {    //配置 主入口    public static void main(String[] args) {        SpringApplication springApplication = new SpringApplication(Application.class);        springApplication.setBannerMode(Banner.Mode.OFF);        springApplication.run(args);    }}

配置文件 application.properties

  删除原有的 application.properties 文件,个人更习惯于使用application.yml这个文件来替代application.properties。

  然后在添加一个文件application.yml,注意要和application.properties在同一级目录下面。

  添加配置项:

server:  port: 8080

  新建一个控制器HelloController。

package com.springboot.controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class HelloController {        @RequestMapping(value = "/hello", method = RequestMethod.GET)    public String hello() {        return "hello spring boot";    }}

  @RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面

配置热部署

  在这之前,如果我们每次修改了代码,都必须重启一下服务器,并重新运行代码,那么有了热部署之后,修改了代码,我们只需要在IDEA中点击一下Build,就可以直接看到效果了,不需要重启服务器。pom.xml文件中添加如下依赖:

org.springframework.boot
spring-boot-devtools
true

  修改pom.xml

  优点:简单,支持Spring-boot项目,支持成员级别的修改热部署。

  缺点:只支持spring-boot项目。

读取配置文件

  修改配置文件application.yml,添加如下代码:

website:  name: 简单的spring boot  domain: https://www.jaminhuang.com  msg: 这是一个简单的spring boot 框架

  新建配置文件类WebSiteConfig,字段名称和配置项中的名称保持一致。

package com.springboot.config;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Configuration;@Configuration@ConfigurationProperties(prefix = "website")public class WebSiteConfig {    private String name;    private String domain;    private String msg;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getDomain() {        return domain;    }    public void setDomain(String domain) {        this.domain = domain;    }    public String getMsg() {        return msg;    }    public void setMsg(String msg) {        this.msg = msg;    }    @Override    public String toString() {        return "WebSiteConfig{" +                "name='" + name + '\'' +                ", domain='" + domain + '\'' +                ", msg='" + msg + '\'' +                '}';    }}
View Code

  创建该对象后,还需要配置pom.xml

org.springframework.boot
spring-boot-configuration-processor
true

  在控制器类HelloController中修改代码:

package com.springboot.controller;import com.springboot.config.WebSiteConfig;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class HelloController {    @Autowired    private WebSiteConfig webSiteConfig;    @RequestMapping(value = "/hello", method = RequestMethod.GET)    public String hello() {        return "hello spring boot";    }    @GetMapping("/config")    public String getConfig() {        return webSiteConfig.toString();    }}
View Code

  最后,配置完成,运行项目,通过访问地址可以查看实际结果啦~

转载于:https://www.cnblogs.com/huanghzm/p/11051506.html

你可能感兴趣的文章
[容斥][dp][快速幂] Jzoj P5862 孤独
查看>>
Reflect反编译C#程序
查看>>
DSAPI 字符串和文件转Md5字符串
查看>>
Lucene 学习之二:数值类型的索引和范围查询分析
查看>>
软件开发工作模型
查看>>
20165301 2017-2018-2 《Java程序设计》第九周学习总结
查看>>
tomcat启动时出现了Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
查看>>
基础测试jmeter5.0+badboy(从小白到入门)
查看>>
Java基础之字符串匹配大全
查看>>
SGA和PGA的分配原则及更改大小
查看>>
面向对象
查看>>
lintcode83- Single Number II- midium
查看>>
HTML5学习笔记简明版(2):新元素之section,article,aside
查看>>
移动端 响应式、自适应、适配 实现方法分析(和其他基础知识拓展)
查看>>
PHP之Trait详解
查看>>
Netty学习(三)高性能之ByteBuf源码解析(篇幅较长)
查看>>
selenium-窗口切换
查看>>
selenium-滚动
查看>>
win安装appium
查看>>
Ubuntu18.04中安装virtualenv和virtualenvwrapper
查看>>