初级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. vue $emit子组件传出多个参数,如何在父组件中在接收所有参数的同时添加自定义参数

    Vue.js 父子组件通信的十种方式 前言 很多时候用$emit携带参数传出事件,并且又需要在父组件中使用自定义参数时,这时我们就无法接受到子组件传出的参数了.找到了两种方法可以同时添加自定义参数的方 ...

  2. 科学计算库Numpy——概述

    Numpy主要用于数组的各种计算. 导入Numpy import numpy as np 数组类型 Numpy的数组类型为numpy.ndarray. array=np.array([1,2,3,4, ...

  3. GoF23种设计模式之结构型模式之装饰模式

    一.概述 动态地给一个对象添加一些额外的职责.装饰模式比生成子类更为灵活. 二.适用性 1.在不影响其他对象的情况下,以动态.透明的方式给但个对象添加职责. 2.处理那些可以撤销的职责. 3.当不能采 ...

  4. linux下安装mysql并设置远程连接

    腾讯云环境为Centos7.4   mysql版本为5.6 本次安装使用yum安装 检查是否已有mysql: yum list installed | grep mysql 下载yum源文件: wge ...

  5. 用python编写简易登录接口

    需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 可以支持多个用户登录 用户3次认证失败后,退出程序,再次启动程序尝试登陆时,还是锁定状态 下面是我写的代码,如果有BUG或者不 ...

  6. git push后是空目录,且提示modified content, untracked content

    最近往自己的github传代码时,每一步都正常,但最后push上去之后是空目录,且在本地执行git status时提示: 后来发现是由于push的工程下本来就有个.git目录,所以才导致push上去的 ...

  7. bash函数定义/使用/传参…

    函数:function, 功能     过程式编程,代码重用         模块化编程         简洁             语法:         function f_name {    ...

  8. C++ 虚函数&纯虚函数&抽象类&接口&虚基类(转)

    http://www.cnblogs.com/fly1988happy/archive/2012/09/25/2701237.html 1. 多态 在面向对象语言中,接口的多种不同实现方式即为多态.多 ...

  9. CodeForces 599E Sandy and Nuts 状压DP

    题意: 有一棵\(n(1 \leq n \leq 13)\)个节点的树,节点的标号为\(1 \sim n\),它的根节点是\(1\). 现在已知它的\(m(0 \leq m < n)\)条边,和 ...

  10. Python动态属性和特性(一)

    在Python中,数据的属性和处理数据的方法统称为属性.其实,方式只是可调用的属性.除了这二者之外,我们还可以创建特性(property),在不改变类接口的前提下,使用存取方法(即读取值和设置值方法) ...