初级Springboot(一)

作者 : Stanley 罗昊
转载请注明出处和署名,谢谢!

一.了解Springboot

做Java开发的小伙伴都知道,我们在做项目的时候,需要去写大量的配置文件,另外呢,集成第三方组件的时候,也非常复杂,然而,现在流行的语言呢使用起来都非常的简单,这样就降低了Java的京竞争力,所以说呢,在这种情况下,Springboot就产生了;
总之,它的目前呢,就是来减少我们Java程序员的工作量,下面我们来介绍一下Springboot的核心特点:
首先呢,我们使用Springboot我们可以直接创建Java工程,不需要去创建web工程了,那么,最后打包的时候呢,打成一个jar包,虽然打成一个jar包它可以,以web程序的形式来运行;
另外呢,Sprinhboot它内嵌了Servlet容器,比如说我们常用的Tomcat、Jetty,那么这个Springboot呢内置了这样呢,我们就不需要自己去配置,所以呢,也减少了在咱们的这个开发者的工作量;
还有一点就是Maven/Gradle进行jar包依赖的时候这个Springboot也进行了简化;
另外呢,Springboot还可以自动的去配置这个Bean,我们在之前使用Spring的时候需要自己手动去配置,而Springboot呢可以自动的去配置;
然后呢,Springboot还提供了基于HTTP、ssh、telnt对运行时的项目进行一个监控;
Springboot最大的特点呢,就是减少了任何的XML的配置,这里面呢,我们基本上就使用注解就可以了;

二.入门程序

入门程序的话就比较简单,我这边使用的是IDEA;
下面呢,我们就简单的来创建一个Springboot项目;
我呢,选择使用Gradle来创建一个springboot工程,创建步骤很简单,在这里我就不讲述了;
创建完成后呢,我们现在以单体项目为例,创建完成之后,一个完整的Springboot项目就建好了,因为我们现在建的是一个单体项目,所以无需建立多个服务;
在项目中的,build.gardle中配置项目的依赖,然后引入依赖就行了;
一个单体的Springboot项目就建好了;

三.实战开发 - 启动自动配置注解

在我们编写Controller层的时候,我们仅需在接口上添加@RequestMing,在括号中填写我们的访问的url;
但是,既然用到了Controller,我们马上就能想起来到,我们需要配置SpringMvc一些相关组件,比如说,处理器映射器,处理器适配器,视图解析器,以及核心控制器,但是呢,咱们任何配置都没有写,照样可以访问这个Controller,当然,这也是有原因呢,这里面起作用的呢是一个注解:
@EnableAutoConfiguration,很显然,这个注解的作用就是,启动自动配置,所以呢,所有关于SpringMvc的配置呢,Springboot注解已经帮你做好了;
另外,我们访问这个Controller接口的时候,我们在可以直接访问,这也就表明,Springboot内置了Tomcat,并且默认端口是8080;
这个时候,我们就好奇,@EnableAutoConfiguration这个注解,到底是什么原理呢?它怎么就知道我们想要的配置呢?
@EnableAutoConfiguration:
启动自动配置该注解会使Springboot根据项目依赖的jar包进行自动配置项目的配置项,例如:、
我们添加了spring-boot-srarter-web的依赖,项目中也就会引入SpringMvc的依赖,Springboot就会自动配置Tomcat和SpringMvc

四.实战开发 - 自定义bannr

在启动Springboot项目的时候,我们在控制台可以看到一个打印的图标:

这个呢,我们称之为banner,如果想改变,其实很容易,我们只需要访问以下网址:
然后选择你喜欢的图标:

然后复制生成好的图标,然后再将我们桌面上创建一个记事本,把文本粘贴进去:

然后将这个记事本取名为:banner.txt,名称不能乱起!!
然后,将这个记事本,复制,粘贴到项目中的resources:

再启动,我们就发现,图标变啦:

 

初级Springboot(一)的更多相关文章

  1. SpringBoot+Shiro+Redis共享Session入门小栗子

    在单机版的Springboot+Shiro的基础上,这次实现共享Session. 这里没有自己写RedisManager.SessionDAO.用的 crazycake 写的开源插件 pom.xml ...

  2. MyBatis初级实战之三:springboot集成druid

    OpenWrite版: 欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kuber ...

  3. SpringBoot从零单排 ------初级入门篇

    有人说SSM已死,未来是SpringBoot和SpringCloud的天下,这个观点可能有点极端,但不可否认的是已经越来越多的公司开始使用SpringBoot.所以我将平时学习SpringBoot的内 ...

  4. SpringBoot初级知识总结,太难了,未完待续.......

    idea如何打包发布springboot 1.1.环境准备window系统,jdk8环境,springboot项目,maven3.5.4环境 1.2.进行打包发布 打开idea编辑器,打开一个写好的d ...

  5. SpringBoot 项目部署(初级)

    之前的项目一直在本地电脑上写,最近需要将项目部署到服务器上进行联调测速度.于是,在网上搜集资料后简单的进行一下总结. 由于本次打包部署是为了测试,于是很多内容做的还不算详尽,只是将项目简单的打包为ja ...

  6. springboot(二):web综合开发

    上篇文章介绍了spring boot初级教程:spring boot(一):入门篇,方便大家快速入门.了解实践Spring boot特性:本篇文章接着上篇内容继续为大家介绍spring boot的其它 ...

  7. SpringBoot初体验(续)

    1.如果你还不知道SpringBoot的厉害之处,或者你不知道SpringBoot的初级用法,请移步我的上一篇文章,传送门 2.SpringBoot中的表单验证 所谓验证,无非就是检验,对比,正如ja ...

  8. 整合springboot(app后台框架搭建四)

    springboot可以说是为了适用SOA服务出现,一方面,极大的简便了配置,加速了开发速度:第二方面,也是一个嵌入式的web服务,通过jar包运行就是一个web服务: 还有提供了很多metric,i ...

  9. Spring SpringMVC SpringBoot SpringCloud概念、关系及区别

    一.正面解读: Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spring+Hibernate)这个MVC框架,所以定位很明确,Struts主要负责表示 ...

随机推荐

  1. 转载:使用Pandas进行数据匹配

    使用Pandas进行数据匹配 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas进行数据匹配 目录 merge()介绍 inner模式匹配 lefg模式匹配 right模式匹配 outer模式 ...

  2. Leetcode(204) Count Primes

    题目 Description: Count the number of prime numbers less than a non-negative number, n. Credits: Speci ...

  3. HDU - 6199 gems gems gems (DP)

    有n(2e4)个宝石两个人轮流从左侧取宝石,Alice先手,首轮取1个或2个宝石,如果上一轮取了k个宝石,则这一轮只能取k或k+1个宝石.一旦不能再取宝石就结束.双方都希望自己拿到的宝石数比对方尽可能 ...

  4. debian软raid

    http://www.linuxidc.com/Linux/2013-06/86487.htm  

  5. selenium2截图ScreenShot的使用

    截图是做测试的基本技能,在有BUG的地方,截个图,保留失败的证据,也方便去重现BUG.所以,在自动化的过程中,也要能截图,也要能在我们想要截取的地方去截图,且能在错误产生时,自动的截图. 示例: 脚本 ...

  6. 你应该知道的.net平台下socket异步通讯(代码实例)

    1,首先添加两个windows窗体项目,一个作为服务端server,一个作为客户端Client 2,然后添加服务端代码,添加命名空间,界面上添加TextBox控件 using System.Net; ...

  7. perl第三章 列表和数组

    访问数组中的元素    $fred[0]   $fred[1] $number=2.75; print $fred[$number-1]  结果就是print $fred[1] 特殊的数组索引1.对索 ...

  8. ccna学习指南第七版

    1.加电post自检    闪存查找ios 可随时从命令行进入设置模式,为此可在特权模式下输入setup    ctrl+c退出特权模式 6.2cli   命令行界面 进入cli router> ...

  9. TensorFlow batch normalize的使用

    TensorFlow batch normalize的使用 batch normalize 经常与CNN搭配使用,据一些研究表面,在RNN层数不是很深的时候使用batch normalize是会用损害 ...

  10. Octave 里的 fminunc

    ptions = optimset('GradObj', 'on', 'MaxIter', '100'); initialTheta = zeros(2,1); [optTheta, function ...