基于SpringBoot开发一套完整的项目(一)准备工作

1.1 SpringBoot简介

① 为所有Spring 开发提供一个更快更广泛的人门体验。

② 零配置。无冗余代码生成和XML 强制配置,遵循“约定大于配置” 。

③ 集成了大量常用的第三方库的配置, Spring Boot 应用为这些第三方库提供了几乎可以零配置的开箱即用的能力。

④)提供一系列大型项目常用的非功能性特征,如嵌入式服务器、安全性、度量、运行状况检查、外部化配置等。

1.2 Spring Boot 不是Spring 的替代者

Spring 框架是通过IOC 机制来管理Bean 的。Spring Boot 依赖Spring 框架来管理对象的依赖。

Spring Boot 并不是Spring 的精简版本,而是为使用Spring 做好各种产品级准备。

        简单的说,平常我们开发一个项目就好比组装一台电脑主机,需要我们自己购买各式各样的配件,最后把它们组装在一起。而Spring Boot 就好比是厂商帮我们组装好的品牌机电脑,各种常用的配件都帮我们封装好了,并且提供了许多的接口,只要我们想增加某个配件,或者修改某个配件的版本,只要跟他讲一下名称,都不需要我们自己去购买,他就会把配件送上门并且帮你装好,用springboot就是这么轻松!

1.3 Spring Boot 2 新特性

    目前Spring Boot 已经开发到了2.0.2版本 ,而我们之后的项目案例也是基于springboot2来开发的。

Spring Boot 2 基于最新的Java 8 和Spring Framework 5 ,这意味着Spring Boot 2 拥有构建现代应用的能力。

( 1 )基于Java 8 的反射增强, Spring Framework 5.0 中的方法参数可以更加高效地进行访问。
    ( 2 )接口提供基于Java 8 的默认方法构建的选择性声明。
    ( 3 )支持候选组件索引作为类路径扫描的替代方案。
    ( 4 )当然,最为重要的是, 此次Spring Framework 5.0 推出了新的响应式堆钱WEB 框架。

相应地, Spring Boot 2 会集成最新的技术枝,包括Spring Data 、Spring Security 、Spring Integration 、Spring  AMQP, Spring Session 、Spring Batch 等都做了更新,其他的第三方依赖也会尝试使用最新的版本。

毫无疑问,Spring Boot  是一种趋势,同时我们在使用spring boot 的同时也在使用着其它新的技术框架。

2.1  开启我们的第一个springboot项目。

       正如Spring Boot 所承诺的那样,使用Spring Boot 可以最大化减少项目的配置, 真正做到开箱即用。现在就来给大家演示一下,如何创建第一个Spring Boot 项目。快速创建一个springboot项目有许多方法,包括官方推荐的,下面我只用intellij IDEA来演示,如何开始第一个hello word项目。

1.创建一个新项目,spring Initializr

因为这里只是简单的输出一个HelloWorld而已,所以勾选一个web就够了

基本目录结构

打开HelloworldApplication.java观察

可以看到,Spring Boot 提供了一个@SpringBootApplication 注解。

@SpringBootApplication = (默认属性的) @Configuration + @EnableAutoCon:figuration + @ComponentScan

(   而:  ① :  @Configuration:经常与@Bean 组合使用,使用这两个注解就可以创建一个简单的Spring 配置类, 可以用来替代相应的XML 配置文件。

② :    @@EnableAutoCon:figuration :能够自动配置Spring 的上下文,猜测和配置用户想要的Bean类。

③ :  @ComponentScan : 会自动扫描指定包下的全部标有@Component 的类, 并注册成Bean,包括子注解@Service 、@Repository 、@Controller。这些Bean 一般是结合@Autowired 构造函数来注入。)

而下面的main 方法是一个标准的Java 方法,main 方法通过调用Run,将业务委托给了Spring Boot 的SpringApplication 类。SpringApplication将引导用户的应用启动并相应地启动被自动配置的Tomcat Web 服务器。

3. 编写控制器HelloController.java

1.0 在helloworld文件夹下新建一个controller包,然后创建HelloController.java

代码如下

 
  1. @RestController

  2. public class HelloController {

  3. @RequestMapping("/helloworld")

  4. public String HelloWorld(){

  5. return "Hello World!";

  6. }

其中:@RestController = @Controller + @ResponseBody

而@ResponseBody : 该注解用于将Controller 的方法返回对象, 通过适当的HttpMessageConverter转换为指定格式后,写入Response对象的body数据区。

@Controller 不用解释了

另外:@RequestMapping :用来处理请求地址映射的注解,可用于类或方法上。也可以写作 GetMapping 、PostMapping、PutMapping 、DeleteMapping 、PatchMapping。这些在后面的文章我们在详细说明。

启动程序,在HelloworldApplication上右键 然后Run HelloworldApplication(注意不是HelloController)

启动成功,默认端口8080,这个可以在application.properties中修改

打开浏览器,输入localhost:8080/helloworld

成功,到这里最简单的一个web功能就实现了,在后面的文章中讲详细的讲解springboot的一个功能,然后根据springboot开发一个项目,记录一下在使用中的一些体会,也方便自己以后回顾。

----------------------------------------------------------------------------------------------------------------------------------

另外提一点,有的时候常常出现端口被占用,很有可能是之前的其他项目没有正常关闭,这时候打开任务管理器,把java.exe关掉再重新启动就行了。

基于SpringBoot开发一套完整的项目(一)准备工作相关推荐

  1. 基于SpringBoot开发一套完整的项目(四)准备工作

    1. 数据持久化  1.1 JPA  在JPA 产生之前,围绕如何简化数据库操作的相关讨论已经是层出不穷,其中ORM 框架最为开发人员所关注.ORM是一种用于实现面向对象编程语言里不同类型系统的数据之 ...

  2. 基于Java开发一套完整的区块链系统(附源码)

    来源:https://blog.csdn.net/victory_long 前言 近几年区块链概念越来越火,特别是区块链技术被纳入国家基础设施建设名单后,各大企业也开始招兵买马,对区块链技术进行研究, ...

  3. 基于Java开发一套完整的区块链系统(附完整源码)

    前言 近几年区块链概念越来越火,特别是区块链技术被纳入国家基础设施建设名单后,各大企业也开始招兵买马,对区块链技术进行研究,从各大招聘网站的区块链职位来看,薪资待遇都很不错,月薪30K到80K的都有, ...

  4. 基于Java开发一套完整的区块链系统

    一.区块链技术理论基础 1.基本概念 (1)区块链 从技术层面来看,区块链是由包含交易信息的区块按照时间顺序从后向前有序链接起来的数据结构. 从应用层面来说,区块链是一个分布式的共享账本和数据库,具有 ...

  5. java 快递项目_基于SpringBoot开发的Java快递代拿系统

    该项目基于 [基于SSM开发的Java快递代拿系统] 项目全面升级,使用当前最为流行的 SpringBoot 框架,相关技术栈全面更新!是您深入学习 SpringBoot 开发的最佳实践! 相关技术栈 ...

  6. 分享Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站

    这是个什么的项目? 使用 Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站. 博客线上地址:www.boblog.com Github地址:https: ...

  7. 图片管理系统源码_「程序员分享」基于SpringBoot开发的天猫商城源码

    前言 大家好,我是程序员it分享师,应粉丝的要求,今天给大家带来一个基于Springboot开发的天猫商城的源码! 使用技术 天猫商城系统使用的是Spring,SpringMvc,SpringBoot ...

  8. boot客户管理系统源码_「计算机毕设」基于SpringBoot开发的仓库管理系统

    前言 大家好,我是it分享师,今天给大家带来一个计算机的毕设项目.基于Springboot开发的仓库管理系统,底层权限控制已经基于shiro实现了,直接可以作为二次开发框架使用! 使用技术 本套系统采 ...

  9. 基于Springboot开发实现二手交易商城

    作者主页:编程指南针 作者简介:Java领域优质创作者.CSDN博客专家 .掘金特邀作者.多年架构师设计经验.腾讯课堂常驻讲师 主要内容:Java项目.毕业设计.简历模板.学习资料.面试题库.技术互助 ...

最新文章

  1. MATLAB_排列组合_组合生成程序
  2. 95-20-010-协议-Kafka的Request和Response
  3. delphi 第三方组件 log4cpp.dll
  4. bzoj 1803: Spoj1487 Query on a tree III(主席树)
  5. javascript基础之拖拽(1)(详细篇)--dataTransfer对象
  6. logback的简单使用 1
  7. php把amr转换成mp3,PHP 将amr音频文件转换为mp3格式
  8. 《鸟哥Linux私房菜之基础篇》(第四版)学习笔记 —— 1、Linux是什么与如何学习
  9. c语言oj查重,GitHub - shawnsky/hshe: Online Judge System 在线评测系统 代码查重 作业质量...
  10. 智能家居雷声越来越大 雨点还是那么小
  11. [笔录]博客及源程序 出处
  12. java 替换emoji表情,java 替换掉emoji表情
  13. Java web接入google身份验证器二次验证
  14. c语言输入坐标求距离,计算两个经纬度之间距离的C语言代码
  15. OSPF状态切换以及包内容的交互,以及如何根据LSDB还原单区域拓扑
  16. AD域用户加入域中的各个组解释
  17. 监控系统介绍和zabbix的安装及配置
  18. 采药问题 c语言程序,采药 题解
  19. 用Windows内置工具测试硬盘速度
  20. 英文内容如何进行翻译

热门文章

  1. 5004. boost 源码编译vs2019
  2. 【蓝桥杯嵌入式】【STM32】12_2020_第十一届_蓝桥杯_嵌入式设计与开发项目_省赛
  3. php 检测nfs状态,PHP和Shell实现检查SAMBA与NFS Server是否存在_php技巧
  4. Linux内核网络协议栈7-socket端口管理
  5. 嵌入式Linux系统编程学习之三十四 Socket 编程
  6. 监控mysql的pr_zabbix之监控MySQL
  7. orc parquet区别 spark_HIVE存储格式ORC、PARQUET对比
  8. 数据挖掘–聚类思维导图
  9. 【LeetCode】剑指 Offer 32 - II. 从上到下打印二叉树 II
  10. 二分法解决力扣374.猜数字大小 C语言