非maven配置SpringBoot框架

 

简介


 

  最近看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")@ResponseBodypublic 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

用法:

 

 1 import java.util.HashMap;
 2 import java.util.Map;
 3 
 4 import org.springframework.boot.SpringApplication;
 5 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 6 import org.springframework.web.bind.annotation.RequestMapping;
 7 import org.springframework.web.bind.annotation.ResponseBody;
 8 import org.springframework.web.bind.annotation.RestController;
 9 
10 
11 //@Controller
12 @RestController //相当于ResponseBody + Controller 任何一个方法都以json格式返回 
13 
14 @EnableAutoConfiguration
15 public class HelloSpringBoot {
16     @RequestMapping("/index")
17     @ResponseBody
18     public String index(){
19         return "Hello Word!";
20     }
21     @RequestMapping("/getMap")
22     @ResponseBody
23     public Map<Object,Object> getMap(){
24         Map<Object,Object> m = new HashMap<>();
25         m.put(1, "a");
26         m.put(2, "b");
27         m.put(3, "c");
28         return m;
29     }
30     //入口程序
31     public static void main(String[] args) {
32         //主函数运行springboot项目
33         SpringApplication.run(HelloSpringBoot.class, args);
34     }
35 }

 

注解

@RestController:

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

 

运行项目


 

 

正常运行项目

 

配置成功显示:

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

我用的是谷歌浏览器

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

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

 

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

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

 

 

   

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

 

            

2018-03-08


   

 

转载于:https://www.cnblogs.com/cat-/p/8529191.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue——去除白色边框

因为vue的UI框架大都是依赖着Vue强大的js库&#xff0c;所以页面布局上style中是无法更改UI页面布局的&#xff0c;这个时候如果想要清除UI框架外的整个白色边框就需要用到这段代码了: beforeRouteEnter(to, from, next) {// 添加背景色 margin:0;padding:0是为了解决vue四周有…

仿苹果涂鸦软件_这些iPhone自带软件,学会一个少装十几个APP,16G手机也够用

你还在卸载苹果手机上这些自带软件吗&#xff1f;别再折腾第三方软件&#xff0c;这些苹果自带神器个个超好用&#xff01;1、Safari浏览器很多苹果用户喜欢在手机上安装第三方浏览器&#xff0c;其实除非特殊作用&#xff0c;苹果自带浏览器Safari逆袭不少第三方软件。我们一般…

winform改变启动界面

我们知道&#xff0c;有时做个小项目什么的&#xff0c;一般从登录开始&#xff0c;再到主页&#xff0c;再到其他业务&#xff0c;如果做到其他页面功能&#xff0c;调试时还要从登录页面一个个点进去&#xff0c;明显的降低开发进度。 这时&#xff0c;我们可以直接将目标界面…

javame学习_从零基础自学Java教程:648集全网最新Java学习教程,一学就会

我们都知道Java的功能非常的强大&#xff0c;Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言&#xff0c;是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台&#xff08;即JavaSE, JavaEE, JavaME&#xff09;的总称。Java 技术具有卓越的通用…

webstorm使用前的准备——Node.js安装及配置

1.下载Node.js&#xff08;自带npm&#xff09; 打开官网下载链接:https://nodejs.org/en/download/ 避坑指南: 这里一定要注意不要点击current去找那个最新版本&#xff0c;不然在后面配置的过程中很可能会炸&#xff0c;那个是17版本&#xff0c;下载LTS下的16版本完全够用&…

1.Python数据类型、方法

数据类型及常用方法 一、字符串 1.说明 &#xff08;1&#xff09;字符串需加引号&#xff1b; name "我是Allen" name Allen name """Allen""" name 我是Allen 字符串示例&#xff08;2&#xff09;字符串创建后不可修改&#xf…

如何将图片序列化_PS如何将图片制作成gif动态图 ps制作gif动态图教程

想要制作gif动态图片&#xff0c;为何不试试万能的PS呢&#xff01;使用PS可以帮助用户快速轻松的制作gif动图&#xff0c;操作简单又方便。那么如何利用PS快速将图片做成gif动态图&#xff0c;其实方法是很简单&#xff0c;制作这种gif动图其实就是把几张图片组合起来然后简单…

Vue-简单网格组件的使用grid

先上一波效果图: 简单来说就是行和列的应用 el-row 为行 el-col 为列 其他的往里面添加组件即可 源码: *格式自己可以通过修改style和script实现自己想要的效果 <template><div class"main"><el-row><el-col span"6"><img sr…

vue——走马灯-类轮播图

前端重积累&#xff0c;话不多说&#xff0c;先上一波效果图: 特意总结的裸着就能使用的轮播图&#xff0c;拿走不谢 vue文件&#xff0c;可以用webstorm进行运行 webstorm前置配置可见如下链接: nodejs配置 <template><div><el-carousel :interval"2000…

VM异常关闭后导致虚拟机无法打开问题解决办法【已解决】

vmware卡的时候&#xff0c;我就去关闭vmware&#xff0c;一直提示vmware服务繁忙&#xff0c;然后我就强制把vmware服务关掉了 再打开的时候就打不开了&#xff0c;弹框提示“”........vmx.exe已提前退出“”&#xff08;具体提示这里没有截图了&#xff09; 解决方法很简单&…

废旧光盘手工小制作_废旧利用 | 幼儿园手工卷纸筒制作大全,超实用

卷纸筒企鹅【所需材料】卷纸筒、黑白两种颜色的卡纸、剪刀、胶水、画笔【步骤教程】1.如图&#xff0c;在卷纸筒上画一个半圆&#xff0c;剪出来2.用黑色卡纸剪出以下的形状&#xff0c;和卷纸筒粘在一起3.再用白色的卡纸画出企鹅的眼睛、嘴巴和脚&#xff0c;粘上就OK啦&#…

vue(el-button的五种类型,三种css格式)

在写一个系统的css文件的时候&#xff0c;发现了不同类型的button的初始颜色不同&#xff0c;为了完美的使button的颜色和背景的颜色相映照&#xff0c;就去搜了一下&#xff0c;小做总结&#xff0c;为以后的使用做准备。 <div><el-button><span>默认按钮&l…

北京集训:20180310

北京集训的第一天&#xff0c;我完美爆零......这其中的经历&#xff0c;十分有趣呢。 T1: 这题一看就是先猜一个性质然后利用他去求解。如果我们知道怎么插入&#xff0c;怎么判定的话&#xff0c;可以线段树分治的说。然后我猜了一个结论:如果稳定&#xff0c;则一定有一个x的…

rs232串口驱动_电脑主板RS232串口硬件设计

更多硬件设计培训视频&#xff0c; 欢迎加入微信公众号“陈苍硬件设计”RS232属于一种电平标准&#xff0c;采用UART异步通信串行数据总线协议。工业电平标准RS422和RS485同样采用UART协议。具体uart的协议格式和RS232电平标准大家可回顾下《低速接口视频》。我们这里主要讲解R…

vue编写to-do list源码

前端重于积累&#xff0c;下次使用不迷路。 纯vue代码 话不多说,直接上效果图: 源码附上: <template><div class"bgBody"><!-- 卡片--><el-row :gutter"12" ><el-col :span"8" ><el-card shadow"hov…

vue积累——另一种走马灯

效果图: vue源码: <template><el-carousel :interval"1500" type"card" height"400px" ><el-carousel-item v-for"item in imgList" :key"item.id"><img :src"item.idView" class"im…

假设检验背后的逻辑

内容转自知乎相关问题答案&#xff0c;写的很清晰。 1. 概述逻辑&#xff1a; 全称命题只能被否证而不能被证明。这个道理很简单&#xff0c;个案当然不足以证明一个全称命题&#xff0c;但是却可以否定全称命题。 研究时&#xff0c;我们当然不希望否证自己的研究假设&#xf…

Arduino上U8g2库自制中文库

U8g2最新版的本身自带中文库&#xff0c;之所以需要自制&#xff0c;是为了减小内存&#xff1b; 文章最后会标一下u8g2自带的中文库不过有些板子不能用gb2312等大字体&#xff1b; 字体库需要的是需要的是下面的这种编码&#xff0c;而实现这种编码&#xff0c;就需要map文件…

数据库创建(利用写好的数据库表生成创建表的sql语句+利用生成的数据库创建表加同步数据sql)

一.利用写好的数据库表生成创建表的sql语句 1.简单创建一个数据库&#xff0c;并建一个表&#xff0c;并编辑数据。 a.建库 b.建表 c.编辑表&#xff0c;保存时输入表名 d.刷新一下&#xff0c;出来了 e.转存导出sql文件。 二.利用生成的数据库创建表加同步数据sql。…

字符串之字符判断以及字母的大小写转换

char c //给定字符c 1.isalpha© //判断是否是字母 2.isdigit© //判断是否是数字 3.islower© //判断是否是小写字母 4.isupper© //判断是否是大写字母 5.tolower© //转变成小写字母 6.touper© //转变成代写字母 至于说应用&#xff0c;看代码悟吧…