非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")
@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框架的更多相关文章
- logback如何配置springboot框架
创建logback-spring.xm在src/main/resources下面(springboot推荐使用logback-spring.xml而不是logback.xml)文件. logback- ...
- 用maven配置springboot+freemarker
1.创建项目 直接点下一步 原因: 不勾选 Create from archetype,是项目创建的骨架的时候,由于不知道什么原因就卡住了,一直在刷新 2.创建之后完成之后 添加依赖 <pa ...
- 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建
基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建 前言 最近做回后台开发,重新抓起以前学过的SSM(Spring+Sp ...
- IDEA+SpringBoot+Mybatis+maven分布式项目框架的搭建
参考文章:https://blog.csdn.net/qq_34410726/article/details/98214992 一.maven分布式工程的基本架构 demo #父工程模块,主要用来定 ...
- 快速搭建springboot框架以及整合ssm+shiro+安装Rabbitmq和Erlang、Mysql下载与配置
1.快速搭建springboot框架(在idea中): file–>new project–>Spring Initializr–>next–>然后一直下一步. 然后复制一下代 ...
- idea-----Intellij IDEA配置tomcat(非maven项目)
Intellij IDEA配置tomcat(非maven项目) 引用: https://blog.csdn.net/springlovejava/article/details/78570241 ID ...
- SpringBoot项目在新电脑上的配置运行,包括JDK+MAVEN+Git+SpringBoot配置等
该教程记录了我在一台新的电脑上安装IDEA,配置JAVA+MAVEN+GIT+SpringBoot项目的过程,最终完成了项目的运行. 一.若想利用IDEA的git工具从GitHub或者码云上面获取项目 ...
- 工具IDEA 配置springboot+maven项目
工具IDEA 配置springboot+maven项目 首先安装IDEA,至于怎么安装就不介绍了.. 第一步 配置maven环境 首先安装maven,先在网上下载一个maven包.在IDEA的sett ...
- 清晰梳理最全日志框架关系与日志配置-SpringBoot 2.7.2 实战基础
优雅哥 SpringBoot 2.7.2 实战基础 - 07 - 日志配置 Java 中日志相关的 jar 包非常多,log4j.log4j2.commons-logging.logback.slf4 ...
随机推荐
- 《Android Studio实战 快速、高效地构建Android应用》--Android Studio操作
前言 摩尔定律:CPU的处理能力大约18个月翻一倍 Android&Java:想要在Android Studio中开发Android App,必须以充分了解Java为前提(Java流行的原因: ...
- ssh_exchange_identification: read: Connection reset
垃圾服务器,真的佛了,明明服务器从装的系统,连接半天连接不上,但是别人的电脑就可以,要使用xshell和fileshell链接,按照软件报的错误来修复的话,根本解决不了问题,还是得命令行ssh roo ...
- num05---装饰模式
当系统需要新的功能的时候,一般都是向旧的类中添加新的代码.比如一个人这个类,需要新增穿衣的功能,那么就会在人这个类中去添加对应的穿衣方法代码,用来增强人这个类的行为功能.但是这样做,会因为新加入的字段 ...
- Java线程核心基础(上)
Java线程核心基础(上) 一.实现多线程 根据Oracle官方文档,目前推荐的创建线程方法主要有两种,分别是继承Thread类和实现Runnable接口.通过阅读Thread类源码,可以发现二者不同 ...
- 1.3创建你的第一个Android项目——Android第一行代码(第二版)笔记
创建HelloWorld项目 如果是第一次,会经过漫长的等待. 启动模拟器 可以用第三方模拟器,也可以用官方集成的 点击后出现如下界面,可创建多个模拟器,如图,我已经创建好了一个,如果你没有,就点击下 ...
- 【redis】-- redis的持久化(作为数据库)
目录 1.RDB rdb持久化的方式 rdb方式的优点: aof的优点 3.持久化的其他特性 日志重写 工作原理 rdb和aof混合使用 redis是一个基于内存的数据库,故在redis正在运行的数据 ...
- JAVA中的约瑟夫环和猴子王问题
今天在书上(书名< java程序设计经典300例 >李源编著)看了一个有趣的问题,那就是java版的约瑟夫问题,想必大一的小伙伴们早就用c写过了吧 今天我在复习一下 首先问题是这样的n个人 ...
- Property - 特性(Python)
Property - Python 特性 不同的书籍对 property 一词的翻译有所不同, 我们将 property 翻译成 '特性' 以区别于 attribute 一词. 先看看 propert ...
- node - MongoDB数据库
mongod 安装配置 在Mongodb官网下载最新版本的Mongodb下载地址 下载msi的window安装包,可以装到C盘或者D盘目录下 配置 由于我是安装在D盘的环境下 D:\Program F ...
- RTEMS进程同步机制
互斥量 好像没有互斥量,信号量接收那儿有个图,互斥量似乎术语一类特殊的信号量. 信号量 12. Semaphore Manager 12.1. Introduction The semaphore m ...