Spring Boot快速入门 (一)

1、IDE工具的安装和使用

  • 1.1、下载IDE

  • 1.2、介绍
    • maven是学习Spring Boot必备之一
    • Spring Tool Suite可快速搭建Spring Boot项目
  • 1.3、Spring Boot项目结构预览

2、RESTfull API简单项目的快速搭建

  • 2.1、搭建一个简单的RESTfull API接口项目
  • 2.2、引入spring-boot-starter-web
  • 2.3、引入spring-boot-devtools
  • 2.4、代码的实现

    User.java:

    import java.util.Date;
    
    /**
     * 实体类
     */
    public class User {
        private int id;
        private String name;
        private Date date;
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public Date getDate() {
            return date;
        }
    
        public void setDate(Date date) {
            this.date = date;
        }
    }

    IndexController.java:

    import java.util.Date;
    import java.util.HashMap;
    
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    
    import com.roncoo.education.bean.User;
    
    /**
     * spring-boot-demo-2-1
     */
    @RestController
    @RequestMapping(value = "/index")
    public class IndexController {
    
        @RequestMapping
        public String index() {
            return "hello world";
        }
    
        // @RequestParam 简单类型的绑定,可以出来get和post
        @RequestMapping(value = "/get")
        public HashMap<String, Object> get(@RequestParam String name) {
            HashMap<String, Object> map = new HashMap<String, Object>();
            map.put("title", "hello world");
            map.put("name", name);
            return map;
        }
    
        // @PathVariable 获得请求url中的动态参数
        @RequestMapping(value = "/get/{id}/{name}")
        public User getUser(@PathVariable int id, @PathVariable String name) {
            User user = new User();
            user.setId(id);
            user.setName(name);
            user.setDate(new Date());
            return user;
        }
    
    }
  • 2.5、运行项目
    • 直接运行main方法或者使用maven命令: spring-boot:run
    • 测试: http://localhost:8080/index
    • 带参数:http://localhost:8080/index/get?name=wujing
    • 带参数有中文:http://localhost:8080/index/get?name=测试
    • url测试:http://localhost:8080/index/get/1/wujing
    • url测试:http://localhost:8080/index/get/1/测试
  • 2.6、打包
    • 命令: clean package

    • 运行命令: java –jar roncoo-education-0.0.1-SNAPSHOT.jar

3、配置文件详解:Properties和YAML

  • 3.1、配置文件的生效顺序,会对值进行覆盖:

    • 1.@TestPropertySource 注解
    • 2.命令行参数
    • 3.Java系统属性(System.getProperties()
    • 4.操作系统环境变量
    • 5.只有在random.*里包含的属性会产生一个RandomValuePropertySource
    • 6.在打包的jar外的应用程序配置文件(application.properties,包含YAML和profile变量)
    • 7.在打包的jar内的应用程序配置文件(application.properties,包含YAML和profile变量)
    • 8.在@Configuration类上的@PropertySource注解
    • 9.默认属性(使用SpringApplication.setDefaultProperties指定)
  • 3.2、配置随机值(自定义,只有重启项目才会重新生成随机值)
    roncoo.secret=${random.value}
    roncoo.number=${random.int}
    roncoo.bignumber=${random.long}
    roncoo.number.less.than.ten=${random.int(10)}
    roncoo.number.in.range=${random.int[1024,65536]}
    • 读取使用注解:@Value(value = "${roncoo.secret}")
    • 注:出现黄点提示,是要提示配置元数据,可以不配置
  • 3.3、属性占位符

    当application.properties里的值被使用时,它们会被存在的Environment过滤,所以你能够引用先前定义的值(比如,系统属性)。

    roncoo.name=www.roncoo.com
    roncoo.desc=${roncoo.name} is a domain name
  • 3.4、Application属性文件,按优先级排序,位置高的将覆盖位置低的
    • 1.当前目录下的一个/config子目录
    • 2.当前目录
    • 3.一个classpath下的/config
    • 4.classpath根路径(root—默认生成路径)
    • 这个列表是按优先级排序的(列表中位置高的将覆盖位置低的)
  • 3.5、配置应用端口和其他配置的介绍
    #端口配置:
    server.port=8090
    #时间格式化
    spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
    #时区设置(若使用jackson格式化时间字符串需设置本地时区,默认是美国的时区)
    spring.jackson.time-zone=Asia/Chongqing
  • 3.6、使用YAML代替Properties
    • 注意写法:冒号后要加个空格

4、配置文件-多环境配置

  • 4.1、多环境配置的好处

    • 1.不同环境配置可以配置不同的参数
    • 2.便于部署,提高效率,减少出错
  • 4.2、Properties多环境配置
    • 1.配置激活选项

      • spring.profiles.active=dev
    • 2.添加其他配置文件
  • 4.3、YAML多环境配置
    ① 配置激活选项
    spring:
      profiles:
        active: dev

    ② 在配置文件添加三个英文状态下的短横线即可区分不同文件

    ---
    spring:
      profiles: dev
  • 4.4、两种配置方式的比较
    • 1.Properties配置多环境,需要添加多个配置文件,YAML只需要一个配件文件
    • 2.书写格式的差异,yaml相对比较简洁,优雅
    • 3.YAML的缺点:不能通过@PropertySource注解加载。如果需要使用@PropertySource注解的方式加载值,那就要使用properties文件。
  • 4.5、运行使用
    • java -jar myapp.jar --spring.profiles.active=dev

5、致谢名单

  • 冯永伟

原文地址:http://blog.51cto.com/manongxiaowu/2132646

时间: 2024-10-29 10:22:49

Spring Boot快速入门 (一)的相关文章

Spring Boot快速入门(二):http请求

原文地址:https://lierabbit.cn/articles/4 一.准备 postman:一个接口测试工具 创建一个新工程 选择web 不会的请看Spring Boot快速入门(一):Hello Spring Boot 二.开始 新建java类RequestCtrl 1.添加一个all方法,使用@RequestMapping注解,可以处理所有的http请求 @RestController//这是一个控制器并只返回数据不寻找视图 public class RequestCtrl { @R

微服务的入门级微框架Spring Boot快速入门

详情请交流  QQ  709639943 00.微服务的入门级微框架Spring Boot快速入门 00.基于java的微信公众号二次开发视频教程 00.leetcode 算法 面试 00.北风网 零基础到数据(大数据)分析专家-首席分析师 00.快速上手JMeter 00.Jmeter 00.2017年Java web开发工程师成长之路 00.R语言速成实战 00.R语言数据分析实战 00.Python+Django+Ansible Playbook自动化运维项目实战 00.Java深入微服务

Spring Boot 快速入门 史上最简单

1.Spring Boot 概述 Spring Boot 是所有基于 Spring 开发的项目的起点.Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件. 2.什么是 Spring Boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.用我的话来理解,就是spring boot其实不是什么新

Spring Boot 快速入门

什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适). 使用spring boot有什么好处 其实就是简单.快速.方便!平时如果我

Spring Boot 快速入门(一)

简介  相信很多人都接触spring框架很长时间了,每次搭建spring框架的时候都需要配置好多的jar.xml,做很多繁琐重复的配置,稍微不留神就会出现各种各样的问题,每次调试真的是香菇.蓝瘦啊. spring boot的出现帮助我们彻底解决了这些jar的依赖,只需要很少的配置就可以完成我们的开发工作,我们可以把自己的应用打包成jar,使用java -jar来运行spring web应用,spring boot集成了很多的web容器,后面都会慢慢讲到这些,今天我们就开始使用spring boo

Spring Boot快速入门

安装 安装依赖 maven是一个依赖管理工具,我们利用maven进行构建.创建一个maven项目,在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&quo

spring boot快速入门 10: 日志使用

第一步:pom 文件 <?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/PO

Spring Boot快速入门(五):使用MyBatis(注解形式)进行数据库操作

原文地址:https://lierabbit.cn/articles/7 添加依赖 新建项目选择web,MyBatis,MySQL三个依赖  对于已存在的项目可以在bulid.gradle加入,spring boot将会帮你自动配置好 compile('org.springframework.boot:spring-boot-starter-data-jpa') compile('org.springframework.boot:spring-boot-starter-web') runtime

Spring Boot快速入门(六):thymeleaf

原文地址:https://lierabbit.cn/articles/8 静态资源 在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源. Spring Boot的默认位置是resources/static 模版页面 各种模版的页面,这次我们选用Thymeleaf Spring Boot的默认位置是resources/templates 渲染页面 在之前的示例中,我们都是通过@RestController来处理请求,所以返回的内容为json对象.当我们需要页面的时候使用@Con