文章目录

  • 一、使用idea构建项目
  • 二、项目结构
  • 三、编写第一个程序Hello World
  • 四、配置项目的热部署
  • 五、单元测试

一、使用idea构建项目

1、选择 File -> New —> Project… 弹出新建项目的框
2、选择 Spring Initializr,Next 也会出现上述类似的配置界面,Idea 帮我们做了集成
3、填写相关内容后,点击 Next 选择依赖的包再点击 Next,最后确定信息无误点击 Finish。

在下面这个界面可以点选某些依赖dependency,这样就不用在pom里面手动写依赖啦

二、项目结构

  • src/main/java 程序开发以及主程序入口

  • src/main/resources 配置文件

  • src/test/java 测试程序

springboot推荐使用如下的目录结构:

com+- example+- myproject+- Application.java|+- domain|  +- Customer.java|  +- CustomerRepository.java|+- service|  +- CustomerService.java|+- controller|  +- CustomerController.java|

1、Application.java 建议放到跟目录下面,主要用于做一些框架配置

2、domain 目录主要用于实体(Entity)与数据访问层(Repository)

3、service 层主要是业务类代码

4、controller 负责页面访问控制

三、编写第一个程序Hello World

1、引入web依赖
如果在创建项目的时候,已经点选了web模块dependency,这里就不用处理,打开pom.xml文件,发现有如下代码

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
  • web模块主要负责网络连接等当面的功能

  • pom.xml 文件中默认有两个模块:
    spring-boot-starter:
    核心模块,包括自动配置支持、日志和 YAML;
    spring-boot-starter-test:
    测试模块,包括 JUnit、Hamcrest、Mockito。

2、编写controller
在src/java/myproject目录下建立一个文件夹,controller,在controller文件夹下建立一个class文件,内容如下

@RestController
public class HelloWorldController {@RequestMapping("/hello")public String hello() {return "Hello World";}
}
  • @RestController 的意思就是 controller 里面的方法都以 json 格式输出,不用再写什么 jackjson 配置的了
  • RequestMapping 的意思是网络请求的映射,当url是:localhost:8080/hello的时候,请求会自动定位到hello这个方法

3、启动主程序,打开浏览器访问 http://localhost:8080/hello ,就可以看到效果了

四、配置项目的热部署

1、添加 依赖
在pom.xml文件中dependecies标签下添加

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional>
</dependency>

在pom.xml文件的plugins标签添加

<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><fork>true</fork></configuration>
</plugin>

2、修改idea的设置
因为热部署依靠的是项目的自动编译,但是idea是默认是不能自动编译的,所以还需要修改一下idea的设置
file->settings->compiler
然后勾选 Build project automatically 复选框
使⽤快捷键 Ctrl + Shift + A,在输⼊框中输⼊ Registry,勾选 compile.automake.allow.when.app.running 复
选框
全部配置完成后, IDEA 就⽀持热部署了,但是这个时候,你修改完成之后,还需要使用ctrl+f9进行自动编译。因为类文件修改之后,需要重新编译之后才能进行热启动,上面的配置才会起作用。⼤家可以试着去改动⼀下代码就会发现 Spring Boot 会⾃动重新加载,不需要在重启项目。

五、单元测试

由于springboot是部署在服务端,很多功能测试如果从网页测试很不方便,所以springboot提供了单元测试模块

以往我们在测试 Web 请求的时候,需要⼿动输⼊相关参数在⻚⾯测试查看效果,或者⾃⼰写 post 请求。在Spring Boot 体系中, Spring 给出了⼀个简单的解决⽅案,使⽤ MockMVC 进⾏ Web 测试, MockMVC 内置了很多⼯具类和⽅法,可以模拟 post、 get 请求,并且判断返回的结果是否正确等,也可以利⽤ print() 打印
执⾏结果。

在test/java/下创建helloControllerTest测试类,代码如下

@RunWith(SpringRunner.class)
@SpringBootTest
public class helloTest {private MockMvc mvc;@Beforepublic void setup() throws Exception {mvc = MockMvcBuilders.standaloneSetup(new helloController()).build();}@Testpublic void helloControllerTest() throws Exception {mvc.perform(MockMvcRequestBuilders.post("/xsj?name=xsj").accept(MediaType.APPLICATION_JSON_UTF8)).andDo(print());}
}

@Before 注解的⽅法表示在测试启动的时候优先执⾏,⼀般⽤作资源初始化。
.accept(MediaType.APPLICATION_JSON_UTF8)) 这句是设置 JSON 返回编码,避免出现中⽂乱码的问题

运行结果如下:

MockHttpServletResponse:Status = 200Error message = nullHeaders = [Content-Type:"application/json;charset=UTF-8", Content-Length:"24"]Content type = application/json;charset=UTF-8Body = this is myself  1234!xsjForwarded URL = nullRedirected URL = nullCookies = []

Spring Boot 从入门到精通(一)HelloWorld(构建项目,热部署,测试)相关推荐

  1. Spring Boot从入门到精通(超详细)

    Spring Boot从入门到精通(超详细) _kayden_ 2020-07-20 15:19:22 9491 正在上传-重新上传取消​ 收藏 184 分类专栏: springboot 文章标签:  ...

  2. 快速开发架构Spring Boot 从入门到精通 附源码

  3. Spring Boot学习总结(4)——使用Springloaded进行热部署

    我在开发的时候,总是会及时对自己的程序进行测试,总是频繁的重启web server,容器不烦我们都觉得烦了. dependencys目录下增加: <dependency> <grou ...

  4. @aspect注解类不生效_Spring Boot从入门到精通(三)常用注解含义及用法分析总结...

    Spring Boot是目前非常流行的框架,而注解是Spring Boot的核心功能,接下来主要说一说Spring Boot常用注解的含义以及部分注解在项目中的使用方法. @RestControlle ...

  5. springboot sessionfactory_Spring Boot从入门到精通(五)多数据源配置实现及源码分析...

    多数据源配置在项目软件中是比较常见的开发需求,Spring和Spring Boot中对此都有相应的解决方案可供大家参考.在Spring Boot中,如MyBatis.JdbcTemplate以及Jpa ...

  6. 视频教程-Spring boot快速入门-Java

    Spring boot快速入门 十年项目开发经验,主要从事java相关的开发,熟悉各种mvc开发框架. 王振伟 ¥12.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 ...

  7. spring boot(一)入门

    目录 spring boot(一)入门 一.简介 1.微服务的概念 2.什么是spring boot 3.快速入门 4.springboot的快捷部署 spring boot(一)入门 一.简介 1. ...

  8. Spring Cloud 微服务实战系列-Spring Boot再次入门(一)

    导语   看到标题大家都疑惑,为什么叫做再入门呢?在之前的博客中也分享过相关的内容,但为了让Spring Cloud 微服务实战系列更加完整就再次编写一个入门的内容,也是为了这个系列的内容更加的完整, ...

  9. Spring Boot Mybatis入门示例

    Spring Boot Mybatis 入门示例 基于Spring Boot 2.3.4,Junit5 步骤说明     整个工程的最终目录结构如下,添加文件或者新建的目录的参考: └─src├─ma ...

最新文章

  1. 采购订单建立增加客户数据增强示例
  2. OpenCV编写视频文件的实例(附完整代码)
  3. 【计算机组成原理】Chapter1-复习题
  4. 计算机控制系统b卷,计算机控制系统年期末考试b卷.docx
  5. 建立一个端口为8189的服务器,它无限期等待直到有客户连接这个端口。若客户在网上发送正确的请求连接了这个端口,则服务器与客户之间就建立了一个可靠的连接。
  6. 怎样把水货E72升级后英文变中文
  7. JS 判断是否为IP格式
  8. 手把手学ROR三——Rails的代码方式
  9. 度分秒换算题及答案C语言,度分秒的换算题(度分秒计算100题及答案)
  10. python实验总结与分析_Python实验报告二
  11. 特殊字符保存到SQL数据库的问题
  12. 数据分析——常见数据指标汇总
  13. 数据库查询数据去除重复
  14. 服务器2012系统登录密码忘记6,Server2012忘记管理员密码的处理方法
  15. 亚马逊推出FreeTime Android应用程序,开放适合儿童资源
  16. 给ecmall添加积分购物的功能
  17. 快速安装到安卓手机软件
  18. 基于ssl协议和基于openssl工具创建私有CA
  19. 利用OpenXml生成Word2007文档
  20. 在命令行中查看apk的签名信息

热门文章

  1. 【无标题】黑群辉DSM 6.2.3 系统安装图文教程 (2020-12-27更新)
  2. 世界杯10大影帝你造么?演技派的天下
  3. SQL 获取下一条数据
  4. xshell不能通过账户密码连接虚拟机
  5. Codeforces Round #620 (Div. 2)(D. Shortest and Longest LIS)(O(n log n)的最长上升子序列或者贪心)
  6. png图片怎么压缩大小又不损失画质?
  7. 锤子手机便签导入另一个手机云便签中怎么操作?
  8. matlab 打开xml文件怎么打开方式,导入 XML 文档
  9. 加密的压缩包文件如何解压
  10. 南京师范大学计算机考研难不难,南京师范大学考研难吗?