SpringBoot-学习笔记
启动方式
运行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-学习笔记的更多相关文章
- SpringBoot学习笔记
SpringBoot个人感觉比SpringMVC还要好用的一个框架,很多注解配置可以非常灵活的在代码中运用起来: springBoot学习笔记: .一.aop: 新建一个类HttpAspect,类上添 ...
- Springboot学习笔记(六)-配置化注入
前言 前面写过一个Springboot学习笔记(一)-线程池的简化及使用,发现有个缺陷,打个比方,我这个线程池写在一个公用服务中,各项参数都定死了,现在有两个服务要调用它,一个服务的线程数通常很多,而 ...
- SpringBoot学习笔记(14):使用SpringBootAdmin管理监控你的应用
SpringBoot学习笔记(14):使用SpringBootAdmin管理监控你的应用 Spring Boot Admin是一个管理和监控Spring Boot应用程序的应用程序.本文参考文档: 官 ...
- SpringBoot学习笔记(3):静态资源处理
SpringBoot学习笔记(3):静态资源处理 在web开发中,静态资源的访问是必不可少的,如:Html.图片.js.css 等资源的访问. Spring Boot 对静态资源访问提供了很好的支持, ...
- SpringBoot学习笔记(2):引入Spring Security
SpringBoot学习笔记(2):用Spring Security来保护你的应用 快速开始 本指南将引导您完成使用受Spring Security保护的资源创建简单Web应用程序的过程. 参考资料: ...
- SpringBoot学习笔记(7):Druid使用心得
SpringBoot学习笔记(7):Druid使用心得 快速开始 添加依赖 <dependency> <groupId>com.alibaba</groupId> ...
- SpringBoot学习笔记(4):与前端交互的日期格式
SpringBoot学习笔记(4):与前端交互的日期格式 后端模型Date字段解析String 我们从前端传回来表单的数据,当涉及时间.日期等值时,后端的模型需将其转换为对应的Date类型等. 我们可 ...
- SpringBoot学习笔记(4):添加自定义的过滤器
SpringBoot:学习笔记(4)——添加自定义的过滤器 引入自定义过滤器 SpringBoot提供的前端控制器无法满足我们产品的需求时,我们需要添加自定义的过滤器. SpringBoot添加过滤器 ...
- SpringBoot学习笔记(13):日志框架
SpringBoot学习笔记(13):日志框架——SL4J 快速开始 说明 SpringBoot底层选用SLF4J和LogBack日志框架. SLF4J的使用 SpringBoot的底层依赖关系 1. ...
- SpringBoot学习笔记(12):计划任务
SpringBoot学习笔记(12):计划任务 计划任务 在企业的实践生产中,可能需要使用一些定时任务,如月末.季末和年末需要统计各种各样的报表,每周自动备份数据等. 在Spring中使用定时任务 1 ...
随机推荐
- Spring中Model、ModelMap及ModelAndView之间的区别+传递参数
org.springframework.ui.Model(接口)传递数据,Spring框架自动创建它的一个实现类,如BindingAwareModelMap org.springframework.u ...
- vue搭建多页面开发环境
自从习惯开发了单页面应用,对多页面的页面间的相互跳转间没有过渡效果.难维护极度反感.但是最近公司技术老大说,当一个应用越来越大的时候单页面模式应付不来,但是没讲怎么应付不来,所以还得自己去复习一遍这两 ...
- spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)
不多说,直接上干货! 前言 其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...
- 微软新动向之Android和IOS应用 visual studio 2015 Cordova[原创]
自萨蒂亚·纳德拉(Satya Nadella)上任微软CEO以来,可谓是惊喜不断,仿佛让世界尤其是我们.net程序员心中又燃起了希望.先是免费提供 iOS 版和安卓版 Office:然后在 xbox ...
- 在vue项目中添加特殊字体
这里的特殊字体,指的是一般用户电脑未安装到本地的字体,要引入这样的字体,首先需要把字体文件下载下来. 就像上图这样的,ttf格式的,然后在项目里添加它. 然后我们在font.css里用@font-fa ...
- Spring Security + OAuth系统环境搭建(一)
最近在做权限管理系统的重构工作,系统基于Spring Security + OAuth架构,整体架构.技术和之前调研的结果差不多,架构调研时有在这篇博客做过简单记录“Spring Cloud微服务下的 ...
- Windows服务器端口绑定证书
打开IIS:inetmgr 打开服务:ctrl+shift+Esc 查看证书秘钥: 服务器查看https证书绑定: 1) 查看证书 netsh http show sslcert 2) 将证书与端口绑 ...
- jQueryh插件imgareaselect
1.插件介绍 imgareaselect 是一个 允许用户使用简单.直观的点击.拖动界面图像选择矩形区域的jQuery插件.该插件可用于 web 应用程序中轻松实现图像裁剪功能,以及其他功能,如照片标 ...
- leetcode — edit-distance
/** * Source : https://oj.leetcode.com/problems/edit-distance/ * * * Given two words word1 and word2 ...
- 为什么LINQ to XML的性能要优于XmlDocument?
一直很忙,压了很多贴,今天发一篇吧.后面的看心情吧. 今天群里有人问如何解析web.config方便,然后我就推荐了Linq to XML,然后就有人说“我宁可XmlDocument,再SeleteN ...