启动方式

运行main方法

@SpringBootApplication
public class BootApplication { public static void main(String[] args) {
SpringApplication.run(BootApplication.class, args);
}
}

使用mvn启动

进图项目目录,使用以下命令启动,要求配置好环境变量

  mvn spring-boot:run

编译成jar启动

编译生成Jar包的方式,首先使用mvn命令编译

mvn install

编译完成之后,当出现如下提示的时候代表编译完成

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.868 s
[INFO] Finished at: 2017-12-26T19:41:08+08:00
[INFO] Final Memory: 24M/292M
[INFO] ------------------------------------------------------------------------

然后进入 c'ltarget目录,会发现新增了jar文件,使用java命令运行此项目即可

cd target/
java -jar boot-0.0.1-SNAPSHOT.jar

属性配置

项目的配置文件位于src/main/resources/application.properties

修改项目启动端口等

在配置中使用application.properties文件进行配置即可。

#修改启动的端口号
server.port=9090 #启动的环境,类似于在URL前加上前缀
server.context-path=/boot

读取配置文件的信息

比如我们的配置文件如下所示

# 代码中引用配置文件
framwork=SpringBoot
startDate=2017-12-12
peopleNum=123

那么我们在代码中使用注解的方式开始拿到数据

    @Value("${framwork}")
private String framwork; @Value("${startDate}")
private String startDate; @Value("${peopleNum}")
private Integer peopleNum; @RequestMapping(value = "/say",method = RequestMethod.GET)
public String sayHello(){
System.out.println(framwork);
System.out.println(startDate);
System.out.println(peopleNum);
return "Hello,"+framwork;
}

或者使用@ConfigurationProperties(prefix = "xxx")和@Component 注解来封装称实体类,其中prefix指的是前缀,然后在需要使用的地方使用 @Autowired即可完成注入。

配置文件中引用配置

在配置文件使用${}可以引用其他属性

# 在配置文件中引用配置文件参数
content="frameWord = ${framwork} , startDate = ${startDate} ,peopleNum = ${peopleNum}}"

多配置文件

在application.properties同级目录下创建两个文件application-dev.properties和application-prod.properties这样可以区分开发环境和真实环境,在application.Properties中开始引用文件即可指定运行环境。

#指的是开发环境
spring.profiles.active=dev
#或者如下,指的是真实环境
spring.profiles.active=prod

或者使用mvn install的方式生成jar包,在使用 java -jar ***.jar的过程中添加参数,来指定运行环境

 --spring.profiles.active=dev

Controlle相关注解

相关注解说明

注解名称 说明
@RestController Spring4的新注解,配合@ResponseBody返回JSON数据
@RequestMapping 映射URL地址
@Controller 处理Http请求

Controll的使用规则

假如有如下代码使用@Controller注解

@Controller
public class IndexController { @RequestMapping(value = "/say",method = RequestMethod.GET)
public String sayHello(){
return "Hello,FrameWord!";
}
}

此时访问系统会报出如下404

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Tue Dec 26 20:26:06 CST 2017
There was an unexpected error (type=Not Found, status=404).

这说明使用Controll注解需要配合模板来使用,这里不做过多的阐述,详细的内容可以参考CSDN博客这个博客,里面做了比较详细的说明。这种情况,如果需要返回json数据的话,可配置@ResponseBody注解即可完成返回JSON的需要。

多URL指向同一个方法

这里在配置@RequestMapping的时候,value参数可以传入一个集合,如下所示,即可做到多路径指向同一个结果

@RequestMapping(value = {"/say","sayHello"},method = RequestMethod.GET)

获取接口中的参数

注解名称 说明
@PathVariable("name") 获取URL中的参数,如/say/{name}
@RequestParam("name")) 获取GET或者POST等请求的参数
@GetMapping(value = "") 组合注解相当于RequestParam并设置method=GET
@PostMapping(value = "") 组合注解相当于RequestParam并设置method=POST
@PutMapping(value = "") 组合注解相当于RequestParam并设置method=PUT
@DeleteMapping(value = "") 组合注解相当于RequestParam并设置method=DELETE
.... ....

RequestParam设置参数的默认值和设置是否必传

@RequestParam(value =  "name",required = false,defaultValue = "周涛") String name

SpringBoot-学习笔记的更多相关文章

  1. SpringBoot学习笔记

    SpringBoot个人感觉比SpringMVC还要好用的一个框架,很多注解配置可以非常灵活的在代码中运用起来: springBoot学习笔记: .一.aop: 新建一个类HttpAspect,类上添 ...

  2. Springboot学习笔记(六)-配置化注入

    前言 前面写过一个Springboot学习笔记(一)-线程池的简化及使用,发现有个缺陷,打个比方,我这个线程池写在一个公用服务中,各项参数都定死了,现在有两个服务要调用它,一个服务的线程数通常很多,而 ...

  3. SpringBoot学习笔记(14):使用SpringBootAdmin管理监控你的应用

    SpringBoot学习笔记(14):使用SpringBootAdmin管理监控你的应用 Spring Boot Admin是一个管理和监控Spring Boot应用程序的应用程序.本文参考文档: 官 ...

  4. SpringBoot学习笔记(3):静态资源处理

    SpringBoot学习笔记(3):静态资源处理 在web开发中,静态资源的访问是必不可少的,如:Html.图片.js.css 等资源的访问. Spring Boot 对静态资源访问提供了很好的支持, ...

  5. SpringBoot学习笔记(2):引入Spring Security

    SpringBoot学习笔记(2):用Spring Security来保护你的应用 快速开始 本指南将引导您完成使用受Spring Security保护的资源创建简单Web应用程序的过程. 参考资料: ...

  6. SpringBoot学习笔记(7):Druid使用心得

    SpringBoot学习笔记(7):Druid使用心得 快速开始 添加依赖 <dependency> <groupId>com.alibaba</groupId> ...

  7. SpringBoot学习笔记(4):与前端交互的日期格式

    SpringBoot学习笔记(4):与前端交互的日期格式 后端模型Date字段解析String 我们从前端传回来表单的数据,当涉及时间.日期等值时,后端的模型需将其转换为对应的Date类型等. 我们可 ...

  8. SpringBoot学习笔记(4):添加自定义的过滤器

    SpringBoot:学习笔记(4)——添加自定义的过滤器 引入自定义过滤器 SpringBoot提供的前端控制器无法满足我们产品的需求时,我们需要添加自定义的过滤器. SpringBoot添加过滤器 ...

  9. SpringBoot学习笔记(13):日志框架

    SpringBoot学习笔记(13):日志框架——SL4J 快速开始 说明 SpringBoot底层选用SLF4J和LogBack日志框架. SLF4J的使用 SpringBoot的底层依赖关系 1. ...

  10. SpringBoot学习笔记(12):计划任务

    SpringBoot学习笔记(12):计划任务 计划任务 在企业的实践生产中,可能需要使用一些定时任务,如月末.季末和年末需要统计各种各样的报表,每周自动备份数据等. 在Spring中使用定时任务 1 ...

随机推荐

  1. 【python】re库 正则的一些过滤和把str拆分成list案例 以及json dict类型

    0x01: 部分参考:https://www.cnblogs.com/edwardsun/p/4421773.html match(string[, pos[, endpos]]) | re.matc ...

  2. android 错误处理思维随笔

    错误信息:An error occurred while preparing SDK package Android SDK Build-Tools 26.0.1 错误分析:大概率更新超时:小概率上次 ...

  3. 全网最详细的如何在谷歌浏览器里正确下载并安装Postman【一款功能强大的网页调试与发送网页HTTP请求的Chrome插件】(图文详解)

    不多说,直接上干货! 想必,玩过Java Web的你,肯定是对于http post和get等请求测试的过程记忆犹新吧. Postman的安装方法分好几种,主要分为两种安装模式介绍: (1)chrome ...

  4. spring-boot-starter大力出奇迹

    一.前言 ​ 上篇文章我们已经聊了SpringBoot的启动过程中的各类扩展点,那么从http://start.spring.io上我们生成的demo项目中,到目前就剩下了maven工程的pom.xm ...

  5. 第二次作业:分布式版本控制系统Git的安装与使用

    本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2103 第一个git仓库地址:https://github.com/ ...

  6. Windows平台编译MySQL5.7源码

    https://blog.csdn.net/linjingke32/article/details/85111711

  7. zookeeper服务发现实战及原理--spring-cloud-zookeeper源码分析

    1.为什么要服务发现? 服务实例的网络位置都是动态分配的.由于扩展.失败和升级,服务实例会经常动态改变,因此,客户端代码需要使用更加复杂的服务发现机制. 2.常见的服务发现开源组件 etcd—用于共享 ...

  8. Go基础系列:简单数据类型

    每一个变量都有数据类型,Go中的数据类型有: 简单数据类型:int.float.complex.bool和string 数据结构或组合(composite):struct.array.slice.ma ...

  9. 使用sublime text3编写vuejs项目需要安装的一些插件

    最近使用webstorm开发vuejs项目的时候经常出现卡顿的现象,感觉还是sublime text3比较轻巧便捷,但是使用sublime text3需要安装一些插件- 1. 让vue文件高亮: 安装 ...

  10. C#实现多态之接口。

    一.什么是接口? 接口就是一种规范协议,约定好遵守某种规范就可以写通用的代码. 定义了一组具有各种功能的方法(只是一种能力,没有具体实现,就像抽象方法一样,“光说不做”). 理解:内存该做成什么样的: ...