首先苦于用ssh、ssm来搭建一个项目,这个基础搭建工作就大概要用半天的功夫才能弄好,想到就头疼,后面听了实验室一位大神的建议,用springboot啊,简单的不止一点点。就顺便学习了下这个神器,果然厉害。

有一次上课,跟同学聊天,他问我web的服务器都部署在哪里了,我说centos啊,部署了好多个,然后对方回复,那你得好好保护你电脑了,如果电脑宕机了,你的linux上的服务器需要全部重新部署了。这个问题的确很严重,搭建一个redis、tomcat、nginx、solr虽然不是太麻烦,但是也需要耗费很多时间,怎么办呢?偶然看到一篇文章:docker。docker可以解决这些问题。

就学习了下docker,果然,用同学的话,什么安装软件什么的,都是浮云。用docker搞定。

今天我们介绍下springboot:

1.springboot是什么?

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。 
该框架使用了特定的方式(继承starter,约定优先于配置)来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 
Spring Boot并不是一个框架,从根本上将,它就是一些库的集合,maven或者gradle项目导入相应依赖即可使用Spring Boot,而且无需自行管理这些库的版本。

2、为什么要用springboot?

Spring Boot是为简化Spring项目配置而生,使用它使得jar依赖管理以及应用编译和部署更为简单。Spring Boot提供自动化配置,使用Spring Boot,你只需编写必要的代码和配置必须的属性。 
使用Spring Boot,只需20行左右的代码即可生成一个基本的Spring Web应用,并且内置了tomcat,构建的fat Jar包通过Java -jar就可以直接运行。 
如下特性使得Spring Boot非常契合微服务的概念,可以结合Spring Boot与Spring Cloud和Docker技术来构建微服务并部署到云端:

  • 一个可执行jar即为一个独立服务
  • 很容易加载到容器,每个服务可以在自己的容器(例如docker)中运行
  • 通过一个脚本就可以实现配置与部署,很适合云端部署,并且自动扩展也更容易

简单而言,即Spring Boot使编码更简单,使配置更简单,使部署更简单,使监控更简单。

优势:项目搭建方便简单快速,省时又省力。

3、springboot项目的创建?

项目创建的方式有两种:

先说一下插件的安装:

这里使用的eclipse最新版Neon,因为之前的版本安装springboot插件失败。所以都是采用最新的,JDK1.8,tomcat9,maven3.9.

关于插件的安装,我们可以可以百度一下网上有很多,这里采用的是直接从eclipse market中查找STS来安装的。

之前安装遇到的问题:使用eclipse luna版本安装了sts后,与maven冲突,直接导致maven不可用。

插件安装好了后,会再导航栏有个绿色的叶子,就是springboot。

接下来就是如何搭建一个springboot项目了:

(1)使用springboot来搭建:

完成后:

这个是自动生成的pom文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.mydemo.springboot</groupId><artifactId>mydemo</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>mydemo</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.3.8.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

 以上是第一种方式创建pringboot项目。

(2)首先创建一个maven项目,然后在pom文件中添加springboot依赖即可。直接将上面的pom文件拷贝一份即可。

需要注意点 问题:搭建项目的时候,项目的入口包必须是父包,其下面的controller、service、dao等等都是其下的子包。

否则项目是无法扫描到下面的文件的。

4、springboot与mybatis整合?

之前spring与mybatis整合非常的麻烦,配置文件一堆,这里springboot将这些都集成的非常好,非常简便的就可以整合了。

分几步来进行:

(1)添加springboot与mybatis的jar:

(2)编写配置文件:这里的配置都是在创建项目的时候springboot自带的那个application.properties,名字不能写错,否则会读取不到。

(3)编写mapper.xml和mapper文件:

这里出现的问题:因为sqlMapConfig导致的项目报错:

其实这里面什么都不用配置即可,因为配置都在外面进行了,那为什么还需要这个文件呢,因为我们避免以后还有相关的配置,比如分页等等。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration></configuration>

  注意:配置文件都是放在source文件下面的,这样才可以读取到,否则是不行的。

关于mapper的读取,我们采用@Mapper注解的方式可以读取大mapper文件。

后面的代码编写跟之前一样了。

这就是spring与mybatis的整合。

5、springboot与redis单机版整合?

看到上面的整合,是不是很感慨为什么没有那么早遇到springboot呢。接下来与redis的整合更简单,只需要简简单单的几个注解就OK了。

(1)添加jar包:

这里出现了一个小问题,提示spring-data-redis需要这个jar包,当时maven项目上面有个红色的叹号(注意:以后遇到这个问题可能就是jar包版本的问题)可是当我添加到pom文件中时,项目依然启动错误。

这类问题的解决方案:

找到maven的本地仓库,将提示的jar包从仓库中删除,然后更新项目,获取新的jar包即可解决。

(2)如何使用redis呢:

配置文件中指的redis的ip和端口:

这样redis就可以使用了,是不是非常的简单啊。

以上就是关于springboot的一些使用,简单快捷方便。

最后:除了上面的几个问题,还有一个需要注意,就是在项目的 入口中,

这个配置是必须的,如果不加这个,则下面的一切工作白费,因为这个注解支持自动扫描和注解的功能。

转载于:https://www.cnblogs.com/fengli9998/p/6866485.html

springboot初学相关推荐

  1. @[springboot初学,附北京尚学堂教程网址

    @springboot初学,附北京尚学堂教程网址https://www.bjsxt.com/a/10247.html 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 ...

  2. SSM学习——SpringBoot初学注意事项(14)

    这里写目录标题 开发步骤 创建boot程序 pom爆红 配置信息 修改默认配置 使用`jetty服务器` 修改端口 yml(yaml) yaml数据读取 单级读取 多级读取 数组读取 自动装配环境值 ...

  3. springboot初学解决Result Maps collection does not contain value for ...问题

    报错如下 xml文件中原来是这样写的 百度搜了半天最后在里面加了个 <resultMap id="resultWeb" type="com.example.demo ...

  4. ‘parent.relativePath‘ of POM com.atguigu:code:1.0-SNAPSHOT (D:\Software\Maven\Maven_code\code\pom.xm

    大家好,之前在准备专升本,现在学的差不多,又回来啦,和大家一起继续学习啦 关于这个配置文件报错的问题,因为版本不一样出现了很多问题,现在我给大家提供一种解决方式 这个是报错代码,关于springboo ...

  5. 初学SpringBoot之三

    原教程如是http://blog.csdn.net/lxhjh/article/details/51753852. 记录问题: 1.maven工程导入后,pom.xml文件报错:"faile ...

  6. springboot springcloud区别_SpringBoot回顾、Spring Cloud初学

    Spring Cloud介绍 什么是Spring Cloud? Spring Cloud是一系列框架的有序集合. 它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发 ...

  7. 初学Springboot使用MyBatis-Plus出现Invalid bound statement (not found)的解决

    出现问题: 学习Springboot时出现找不到mapper里的方法,很奇怪通用的MP能使用,自己定义的MP就会出现上面的问题,看了自己写的mpper映射路径啥的都没有问题 疯狂百度查找,替换版本,好 ...

  8. 初学springBoot,遇到空白标签错误页面

    有时候Whitelabel Error Page错误,只是因为不细心首先遇到了status=404的错误,后来经过查询,发现是pom.xml中没有添加thymeleaf的依赖,添加好了后,遇到如图st ...

  9. 初学springboot的应用

    简单看看使用场景: 运用场景1:比如大家注册博客园的时候,注册信息写入数据库之后,还需要激活吧!你要等博客园的一个线程给你发邮件,假如这个时候注册的人很多,那就需要非常多的线程,大家也知道线程到达一定 ...

最新文章

  1. Invalid indirect reference 0x28 in decodeIndirectR
  2. 「Swift」第三章String and Character
  3. matlab提取图像中的一部分并移动,在Matlab中从图像中提取对象
  4. .net core2 单元测试
  5. 如何做组间差异检验_买套餐送车险,做维修提供代步车,考拉爱车如何实现差异化竞争?...
  6. python def函数报错详解_JSer 快速入门 Python 之函数详解
  7. 【TSP】基于matlab蚁群算法求解旅行商问题【含Matlab源码 1130期】
  8. Proteus仿真51单片机
  9. J2EE学习篇之--Struts1详解
  10. linux tomcat 验证码无法显示
  11. 蓝桥杯:合唱队形(C语言)
  12. 什么是域名(Domain Name ) ?
  13. 团队领导力(一)规划+落实
  14. 谷歌3d卫星地图下载
  15. Apache Calcite初探和csv简单例子
  16. 安装Office 2016出现 Office 16 Click-to-Run Extensibility Component
  17. HTML设置页面动画效果有几种,前端制作动画的几种方式(css3,js)
  18. 【mmWave】zoomFFT
  19. SCI (SSCI) 投稿全过程信件模板一览(Cover letter,催稿信,修改稿及回复,感谢信,询问校稿及校稿信) (转)
  20. Emacs 从入门到精通

热门文章

  1. 一次图文并茂的***完整测试二
  2. 学习 Linux,101: 引导系统
  3. Oracle Exadata 简介
  4. cinder存储服务
  5. 清科-2018年中国金融科技领域10强
  6. Web的现状:网页性能提升指南
  7. vue2 切换路由时 页面滚动到顶部 用游览器返回时 记住上页的位置
  8. window 远程访问本地centos/redhat虚拟机上jupter notebook 配置方法
  9. 黑马程序员-张老师基础加强3-内省
  10. 雨林木风爱好者GHOSTXP装机版_NTFS_SP3_2010_03