Spring_boot入门(1)
Spring boot 将很多东西都集成在一起了,搭建maven项目的时候只需要引入很少的依赖就可以实现项目的搭建。
1.搭建maven项目结构
2.引入Spring boot 依赖 直接去官网找就可以了,还有例子说明
3.pom.xml 导入依赖包,最开始用的1.5.10的版本不知道为啥main方法启动的时候tomcat无法启动,后来换了版本就可以了
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.7.RELEASE</version>
</dependency>
</dependencies>
4.main方法启动Spring boot 启动类始用 @SpringBootApplication 注解
package di.bao; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
public class FirstAPP { public static void main(String[] args) {
SpringApplication.run(FirstAPP.class, args); } }
5.tomcat启动之后就可以直接访问了,直接访问8080端口会出现错误页面,编写一个controller,始用@Controller 注解,访问8080/nihao,页面出现方法返回值。
package di.bao; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody; @Controller
public class NiController {
@GetMapping("/nihai")
@ResponseBody
public String hello() {
return "shi jie ni hao!";
}
}
6.rest接口,返回josn 格式字符串 :创建一个类,编写controller,访问http://localhost:8080/student/1 ,页面:{"name":"zhangsan","id":1}
package di.bao;
public class Student {
private String name;
private int id;
public Student() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
package di.bao; import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class JosnController {
/**
* value 路径 method 访问方法 produces 产出什么
* @param id
* @return
*/
@RequestMapping(value = "/student/{id}", method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public Student hello(@PathVariable int id) {
Student student = new Student();
student.setId(id);;
student.setName("zhangsan");
return student;
}
}
7.spring boot启动方式:
1.main方法启动
2.mvn intall编译成jar包后 java -jar xxxx.jar启动
3.项目目录下执行mvn spring-boot:run
注意:再次使用main方法启动的时候一定要先将上一次启动的先关闭,否则会出现端口占用出现java.net.BindException: Address already in use: bind 异常。
命令行:netstat -ano|findstr "8080"

命令行:输入tasklist 查看11000是哪个进程

win7的话直接在任务管理器里面把占用端口的程序关掉就可以了。
由于系统换了win10,win10的任务管理器有点不一样,找了半天也没找到这个进程,索性把java相关的 都关掉了,结果还是没用,
后来发现在应用 eclipse下面还有一个java有关的,关掉那个就可以正常重启了

Spring_boot入门(1)的更多相关文章
- spring_boot入门
核心: 控制反转(Inversion of Control-IOC)和依赖注入(Dependency Injection-DI) Spring中两者是相同的, 控制反转是用依赖注入实现的. 这里, 依 ...
- Git将本地库内容推送到远程
本地库与远程库的交互 1 .将本地库的内容推送到远程库 A.创建一个本地仓库 $ mkdir gitdemo B.初始化本地仓库 $ git init C.项目根目录下创建 .gitignore 文件 ...
- SpringBoot系列: RestTemplate 快速入门
====================================相关的文章====================================SpringBoot系列: 与Spring R ...
- SpringBoot学习(四)-->SpringBoot快速入门,开山篇
Spring Boot简介 Spring Boot的目的在于创建和启动新的基于Spring框架的项目.Spring Boot会选择最适合的Spring子项目和第三方开源库进行整合.大部分Spring ...
- SpringBoot入门及深入
一:SpringBoot简介 当前互联网后端开发中,JavaEE占据了主导地位.对JavaEE开发,首选框架是Spring框架.在传统的Spring开发中,需要使用大量的与业务无关的XML配置才能使S ...
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- Oracle分析函数入门
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
- Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数
上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...
随机推荐
- Android绘图机制(二)——自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解
Android绘图机制(二)--自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解 我们要想画好一些炫酷的View,首先我们得知道怎么去画一些基础的图案,比如矩形,圆 ...
- java开发中几种常见的线程池
线程池 java.util.concurrent:Class Executors 常用线程池 几种常用的的生成线程池的方法: newCachedThreadPool newFixedThreadPoo ...
- android EventBus详解(一)
EventBus 是一款针对Android优化的发布/订阅事件总线.主要功能是替代Intent, Handler, BroadCast 在 Fragment,Activity,Service,线程之间 ...
- Mina源码阅读笔记(五)—Mina对连接的操作IoSession
IoSession是Mina管理两端的一个重要部分,也是Mina的核心,Session具有了生命周期的概念,它的生命周期和连接时紧密相关的,这点在后面的介绍中会涉及.另外,好像hibernate中也有 ...
- linux 常见命令及说明杂记
systemctl 命令: systemctl 是管制服务的主要工具, 它整合了chkconfig 与 service功能于一体.示例:systemctl is-enabled iptables.se ...
- 三、编辑 Update set
文档目录 开始使用 初始化查询实例: LambdaToSql.SqlClient DB = new LambdaToSql.SqlClient(); 更新单个实体对象,必须有主键Guid var e ...
- IoC和DI的基本概念的思维导图
最近在学习Spring开发,IoC这个概念让我有点儿迷糊,控制反转这四个字是在是无法做到望文生义,于是乎就找了一些材料来学习,研究了半天,绘制了下面这幅思维导图.仅供参考!
- 开源一个IE下获取XPath小工具,支持32/64位
背景是曾经友情支持了测试组一小段时间,发现他们使用selenium做页面的自动化测试,需要用到XPath,但IE下没有获取XPath的工具,只能在Firefox和chrome下获取,步骤还比较麻烦.而 ...
- Map 遍历分析
1. 阐述 对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多.理由是:entrySet方法一次拿到所有key和value的集合:而keySet拿到的 ...
- PBCS项目总结
PBCS项目已经成功地Product,终于可以缓解一下紧张的心情,最近连续四五个月紧张地工作,头都要大了.如今比较清闲,是时候总结一下整个项目了.(古人云:成功在于总结嘛) 整个项目是二个人开发的,由 ...