简介


  最近看SpringBoot框架非常火,所以尝试的参照资料学习了一下SpringBoot框架,

  起初是搭建的maven项目,可是个人觉得maven项目搭建起来不太方面(还有网络

  原因),所以我这性格比较受不了,就在网上手动把SpringBoot简单程序需要的包

  都下载到了本地。如果你跟我一样也是刚开始使用SpringBoot并加载本地jar包,

  那你真是来对了~~

springboot介绍


通过网上的资料,我简单地了解一下SpringBoot

1.敏捷开发(整合框架)
 2.无需Tomcat (java应用程序运行,实际jar包),内置Tomcat
 3.减少xml配置(没有xml),配置文件properties。
 4.微服务框架主流 SpringCloud+SpringBoot
 5.注解:提供了很多注解

SpringBoot--和微服务有什么关联?
 目前来说SpringCloud(http接口+test),基于SpringBootweb组件封装SpringMVC

原理:
 微服务架构的SpringCloud做的RPC远程调用,用到的接口协议是这个PRC协议,
 通过json传参数,
 SpringCloud核心依赖是springboot,springboot核心是依赖的springmvc

简单的搭建需要什么包


我在这搭建的时候下载到本地,用到了31个jar包,通过网上查找有用30个包搭建的,

可是后来运行我这里出现了问题,所以添加了一个包解决掉了这个问题

需要的包如图:

如果需要jar包的小伙伴可以联系我或者在下方评论~~

  配置简单的SpringBoot


 首先,添加本地jar包到我的web项目,如果您是老司机请直接看代码~

正常创建web项目

  我在这正常下一步,项目取名:MySpringBoot01,正常Finish(因为SpringBoot基本不用xml文件,所以直接下一步)

然后进入导包步骤

  

因为SpringBoot内置Tomcat,我也添加了Tpmcat的核心包,所以在运行时会因为包类冲突出现错误,

所以我在这Remove掉Tomcat的包,解决掉冲突使程序正常运行

然后添加SpringBoot需要的本地jar包

最后应用(点击Apply),在点击OK 。完成基本的配置操作

  代码实现SpringBoot


首先创建一个HelloSpringBoot的类

终于到最后的代码操作了。废话不多说 我直接上代码

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; @Controller
@EnableAutoConfiguration
public class HelloSpringBoot { @RequestMapping("/index")
@ResponseBody
public String index(){
return "Hello Word!";
} //入口程序
public static void main(String[] args) {
//主函数运行springboot项目
SpringApplication.run(HelloSpringBoot.class, args);
}
}

如果你之前用过SSM框架,相信你大致可以看明白了

我既然没有Tomcat服务器,我肯定需要个入口来运行我的SpringBoot程序,

所以用到了SpringApplication.run()这个方法启动内置的Tomcat服务器。

注解

@Controller:

用于定义控制器类,在spring 项目中由控制器负责将用户发来的URL请求转发

到对应的服务接口(service层),一般这个注解在类中,通常方法需要配合注

解@RequestMapping使用。像上述代码通过RUL的index请求,来响应我的方法。

@EnableAutoConfiguration:

Spring Boot自动配置(auto-configuration):尝试根据你添加的jar依赖自动配置

你的Spring应用。例如,如果你的classpath下存在HSQLDB,并且你没有手动配置

任何数据库连接beans,那么我们将自动配置一个内存型(in-memory)数据库”。

@ResponseBody:

表示该方法的返回结果直接写入http response body中,一般在异步获取数据时使用,

用于构建RESTful的api。在使用@RequestMapping后,返回值通常解析为跳转路径,

加上@ResponseBody后返回结果不会被解析为跳转路径,直接写入http response body

中。比如异步获取json数据,加上@ResponseBody后,会直接返回json数据。


在SpringBoot中添加了一些新的注解,像@RestController

用法:

 import java.util.HashMap;
import java.util.Map; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController; //@Controller
@RestController //相当于ResponseBody + Controller 任何一个方法都以json格式返回 @EnableAutoConfiguration
public class HelloSpringBoot {
@RequestMapping("/index")
@ResponseBody
public String index(){
return "Hello Word!";
}
@RequestMapping("/getMap")
@ResponseBody
public Map<Object,Object> getMap(){
Map<Object,Object> m = new HashMap<>();
m.put(1, "a");
m.put(2, "b");
m.put(3, "c");
return m;
}
//入口程序
public static void main(String[] args) {
//主函数运行springboot项目
SpringApplication.run(HelloSpringBoot.class, args);
}
}

注解

@RestController:

用于标注控制层组件(如struts中的action),@ResponseBody和@Controller的合集。

运行项目


正常运行项目

配置成功显示:

你还可以看到基本的一些信息

我用的是谷歌浏览器

在网址写入  http://localhost:8080/index     --------> index 就是我 @RequestMapping映射的方法名,映射的url

启动完成!!简单的SpringBoot项目搭建成功了~~

 

当然你也可以访问getMap,返回的是json格式

   基本就是这样,怎么样 和SpringMVC繁琐的xml对比 相对简单把~~

  

    感谢大家观看此篇文章,如果有什么见解可以留言给我~~

 

            

2018-03-08


  

非maven配置SpringBoot框架的更多相关文章

  1. logback如何配置springboot框架

    创建logback-spring.xm在src/main/resources下面(springboot推荐使用logback-spring.xml而不是logback.xml)文件. logback- ...

  2. 用maven配置springboot+freemarker

    1.创建项目 直接点下一步   原因: 不勾选 Create from archetype,是项目创建的骨架的时候,由于不知道什么原因就卡住了,一直在刷新 2.创建之后完成之后 添加依赖 <pa ...

  3. 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建

    基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建 前言 最近做回后台开发,重新抓起以前学过的SSM(Spring+Sp ...

  4. IDEA+SpringBoot+Mybatis+maven分布式项目框架的搭建

    参考文章:https://blog.csdn.net/qq_34410726/article/details/98214992 一.maven分布式工程的基本架构 demo  #父工程模块,主要用来定 ...

  5. 快速搭建springboot框架以及整合ssm+shiro+安装Rabbitmq和Erlang、Mysql下载与配置

    1.快速搭建springboot框架(在idea中): file–>new project–>Spring Initializr–>next–>然后一直下一步. 然后复制一下代 ...

  6. idea-----Intellij IDEA配置tomcat(非maven项目)

    Intellij IDEA配置tomcat(非maven项目) 引用: https://blog.csdn.net/springlovejava/article/details/78570241 ID ...

  7. SpringBoot项目在新电脑上的配置运行,包括JDK+MAVEN+Git+SpringBoot配置等

    该教程记录了我在一台新的电脑上安装IDEA,配置JAVA+MAVEN+GIT+SpringBoot项目的过程,最终完成了项目的运行. 一.若想利用IDEA的git工具从GitHub或者码云上面获取项目 ...

  8. 工具IDEA 配置springboot+maven项目

    工具IDEA 配置springboot+maven项目 首先安装IDEA,至于怎么安装就不介绍了.. 第一步 配置maven环境 首先安装maven,先在网上下载一个maven包.在IDEA的sett ...

  9. 清晰梳理最全日志框架关系与日志配置-SpringBoot 2.7.2 实战基础

    优雅哥 SpringBoot 2.7.2 实战基础 - 07 - 日志配置 Java 中日志相关的 jar 包非常多,log4j.log4j2.commons-logging.logback.slf4 ...

随机推荐

  1. Win32实现迷宫

    跟着杨立祥老师的课程,为了完成扫雷的作业,打算先用DFS/BFS实现路径搜索的简单Demo. 生成迷宫: /* 扫雷程序生成方砖 */ #include <stdio.h> #includ ...

  2. docker nginx 实现图片预览

    一.实现 nginx http图片预览 1.创建本地配置文件目录以及配置文件 两种方式: 1.1.docker nginx将配置文件抽离到了/etc/nginx/conf.d,只需要配置default ...

  3. FPGA基础知识关键点摘要

    FPGA基础知识关键点摘要 一.组合逻辑和时序逻辑的区别:组合逻辑与输入直接实时相关,时序逻辑还必须在时钟上升沿出发后输出新值,有没有时钟输入是他们最大的区别!组合时序容易出现竞争冒险现象出现亚稳态, ...

  4. ELK:日志收集分析平台

    简介 ELK是一个日志收集分析的平台,它能收集海量的日志,并将其根据字段切割.一来方便供开发查看日志,定位问题:二来可以根据日志进行统计分析,通过其强大的呈现能力,挖掘数据的潜在价值,分析重要指标的趋 ...

  5. 使用Spring Cloud Feign 日志查看请求响应

    在使用微服务时,常常会用feign做客户端去调用别的微服务,但是在日志中很难查看到具体的请求和响应.因此,需要把feign默认的日志打开. 日志设置 创建feign配置类 @Configuration ...

  6. PBFT算法java实现

    PBFT 算法的java实现(上) 在这篇博客中,我会通过Java 去实现PBFT中结点的加入,以及认证.其中使用socket实现网络信息传输. 关于PBFT算法的一些介绍,大家可以去看一看网上的博客 ...

  7. VFP调用API来控制USB摄像头,实现拍照或录像

    *--前提:VFP7.0以上;Windows 2K及以上*--控件:AVICAP32.DLL *--定义:一般放到主程序或表单(集)的Load事件中Public WM_CAP_DRIVER_DISCO ...

  8. php面试笔记(4)-php基础知识-流程控制

    本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com 在面试中,考官往往喜欢基础扎实的面试者,而流程控制相关的 ...

  9. sys.stdout.write和print和sys.stdout.flush

    1. 先看下官方文档 """ sys.stdout.write(string) Write string to stream. Returns the number of ...

  10. Kubernetes最新版核心命令

    #查看所有namespace的pods运行情况 kubectl get pods --all-namespaces #查看具体pods,记得后边跟namespace名字哦 kubectl get po ...