前言:

springcloud是新一代的微服务框架而springboot作为springcloud的基础,花些时间来学习作为技术储备还是很有必要的,所以就有了这个springboot系列

springboot能做什么

springboot 致力于简洁,让开发者写更少的配置,程序能够更快的运行和启动。
Springboot 设计原则就是 约定优于配置。并且内嵌了Servlet容器。
springboot 采用的是Java Config的方式,对Spring进行配置,避免了XML配置以及复杂的依赖管理,使用springboot可以帮助开发者快速搭建一个Spring框架。

须知:本springboot系列所有项目均使用maven构建,如果不了解,可以先去学习一下

项目源码均在github/码云上

springboot版本:v1.5.6.RELEASE

jdk版本:1.8

快速构建一个springboot项目

构建一个支持web模块的springboot项目只需要以下三个步骤:
1. pom.xml引入springboot的依赖支持
2. 写一个项目启动类
3. 写一个项目配置文件(这步也可以不用有)

项目结构分析



src/main/java 下的程序启动入口:Application

src/main/resources下的配置文件:application.properties

话不多说,实战

步骤1:

新建一个maven项目,在pom.xml中引入springboot相关依赖的支持

  	<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

spring-boot-starter 模板:核心模块,包括自动配置支持、日志和YAML

spring-boot-starter-web 模块:web模块

步骤2:

新建一个项目启动类:Application

@SpringBootApplication
public class Application { public static void main(String[] args) {
SpringApplication.run(Application.class, args);
} }

@SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan

@Configuration的注解类标识这个类可以使用Spring IoC容器作为bean定义的来源。@Bean注解告诉Spring,一个带有@Bean的注解方法将返回一个对象,该对象应该被注册为在Spring应用程序上下文中的bean。

@EnableAutoConfiguration:能够自动配置spring的上下文,试图猜测和配置你想要的bean类,通常会自动根据你的类路径和你的bean定义自动配置。

@ComponentScan:会自动扫描指定包下的全部标有@Component的类,并注册成bean,当然包括@Component下的子注解@Service,@Repository,@Controller。

到这里,一个简单的springboot就建成了

运行项目启动类:Application,查看控制台,发现以下输出



Tomcat started on port(s): 8080 (http),就说tomcat已经成功启动,默认端口是8080

等等,上面不是说需要三个步骤才可以吗?

其实上面说的第三个步骤并不是必须的,但是如果你想要进行一些自定义的配置,就需要第三步了

步骤3:

在/resources下,新建application.properties

spring.application.name=my-springboot-learn
server.port=9001

spring.application.name :项目服务的名称

server.port:启动端口

把启动端口改为9001之后重新启动项目,访问http://localhost:9001/

可以看到项目已经启动了,显示的是springboot默认的错误页面,可以看到产生错误的原因类型是Not Found,状态码是404

接下来模拟一个web请求

新建一个/com.my.controller目录

在新建个类:LoginController

@RestController
public class LoginController { @GetMapping("/sayHello")
public String login(){ return "hello xiaonuo";
}
}

@RestController注解 等价于 @Controller+@ResponseBody 将返回值已json形式返回

重启一下项目再次访问:http://localhost:9001/sayHello

可以看到页面输出了hello xiaonuo

到这一个springboot的web项目就构建完成了。通过一个sayHello模拟了一个web请求

未完待续 》》》》


去码云 :https://gitee.com/cmy1996/springboot

去github :https://github.com/mingyuHub/springboot


关注公众号,不定期推送优质文章

springboot:快速构建一个springboot项目的更多相关文章

  1. 快速构建一个 Springboot

    快速构建一个 Springboot 官网:http://projects.spring.io/spring-boot/ Spring Boot可以轻松创建可以“运行”的独立的,生产级的基于Spring ...

  2. 快速构建一个vue项目

    首先介绍一下命令行构建一个vue项目步骤: 1.下载安装node.js(直接运行安装包根据步骤安装完),打开命令行输入:node -v ,出现版本号即安装成功. 2.命令行界面输入:cnpm inst ...

  3. 【springBoot】之快速构建一个web项目

    基于maven,首先看pom文件 <parent> <groupId>org.springframework.boot</groupId> <artifact ...

  4. 快速构建一个springboot项目(一)

     前言: springcloud是新一代的微服务框架而springboot作为springcloud的基础,很有必要对springboot深入学习一下. springboot能做什么? (1)spri ...

  5. [开源]快速构建一个WebApi项目

    项目代码:MasterChief.DotNet.ProjectTemplate.WebApi 示例代码:https://github.com/YanZhiwei/MasterChief.Project ...

  6. 快速构建一个简单的单页vue应用

    技术栈 vue-cli webpack vux,vux-loader less,less-loader vue-jsonp vue-scroller ES6 vue-cli:一个vue脚手架工具,利用 ...

  7. 如何使用IDEA快速创建一个springboot项目

    如何使用IDEA快速创建一个springboot项目 https://jingyan.baidu.com/article/0964eca24fdd938284f53640.html

  8. SpringBoot 快速构建微服务体系 知识点总结

    可以通过http://start.spring.io/构建一个SpringBoot的脚手架项目 一.微服务 1.SpringBoot是一个可使用Java构建微服务的微框架. 2.微服务就是要倡导大家尽 ...

  9. SpringBoot2.x入门:快速创建一个SpringBoot应用

    前提 这篇文章是<SpringBoot2.x入门>专辑的第2篇文章,使用的SpringBoot版本为2.3.1.RELEASE,JDK版本为1.8. 常规的套路会建议使用Spring官方提 ...

随机推荐

  1. Nginx (三) 使用Keepalived搭建高可用服务

    Nginx可以实现高并发反向代理,实现负载均衡,但是有个问题就是Nginx是单点的.如果Nginx故障,则整个服务将会处于不可用状态.所以我们就需要想办法让nginx高可用,即使一个Nginx宕机,还 ...

  2. MySQL 字符集问题及安全的更新操作

    一.字符集乱码 1.操作系统字符集 [root@mysql5 ~]# cat /etc/system-release /etc/sysconfig/i18n CentOS release 6.5 (F ...

  3. [编织消息框架][JAVA核心技术]动态代理应用11-水平扩展实现

    由于示例,远程服务地址配置在properties文件,通过QMConfig类加载,最优方式是上节介绍过,放在共享内存上,只需要维护一份数据即可,如放在redis上 /** 服务地址<servic ...

  4. 如何更改 iOS 和安卓浏览器上的 input[type="radio"] 元素的默认样式?

    Safari 上的默认样式是这样的, 背景颜色可以使用background-color改变,但中间那个点始终无法去掉. 我查了一些jQuery插件,如iCheck.js,但是那说明写得我都看不明白,根 ...

  5. vue2 过渡 轮播图

    ---恢复内容开始--- Vue主要渲染条件: v-if:是将元素删除再创造出来进行渲染. v-show:是将元素的display=none掉,再进行渲染: 要点知识:v-key:唯一元素标识,若不设 ...

  6. Windows高速定时器,多媒体定时器winmm.dll库的使用

    项目里面用到的这些看起来名字高大上的定时器测试下来也是非常不准.看了源码发现也是用System.Timers.Timer或者用的是Thread休眠的方式来实现的.100毫秒就不准了.直到一番搜索,发现 ...

  7. PyQt4 开发入门

    参考资料:PyQt4教程

  8. python基本数据类型学习

    python是极其简洁的一门高级语言,在python里面没有真正意义上的常量,只是用大写的标定表示常量(python中的常量是可以修改的),单行注释用#开始,.并且python不用定义数据类型,因为p ...

  9. Spring Boot快速入门(三):依赖注入

    原文地址:https://lierabbit.cn/articles/6 spring boot使用依赖注入的方式很简单,只需要给添加相应的注解即可 @Service用于标注业务层组件 @Contro ...

  10. 使用三种方法求解前N个正整数的排列

    本篇博文给大家介绍前N个正整数的排列求解的三种方式.第一种是暴力求解法:第二种则另外声明了一个长度为N的数组,并且将已经排列过的数字保存其中:第三种方式则采用了另外一种思路,即首先获取N个整数的升序排 ...