SpringBoot 之环境搭建


见:  http://bbs.itmayiedu.com/article/1491835651684


1. 什么是**SpringBoot**

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域(rapid
application development)成为领导者。–摘自百度百科

2. 为什么现在用**SpringBoot**

1. 创建独立的 Spring 应用程序

2. 嵌入的 Tomcat,无需部署 WAR 文件

3. 简化 Maven 配置

4. 自动配置 Spring

5. 提供生产就绪型功能,如指标,健康检查和外部配置

6.开箱即用,没有代码生成,也无需 XML 配置。

3. Spring Boot**特性理解 **

1.为基于 Spring 的开发提供更快的入门体验

2.开箱即用,没有代码生成,也无需 XML 配置。同时也可以修改默认值来满足特定的需求。

3.提供了一些大型项目中常见的非功能特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。

4.Spring Boot 并不是对 Spring 功能上的增强,而是提供了一种快速使用 Spring 的方式。

4. SpringBoot**环境搭建 **

学习一个东西的第一步是要学会如何迅速搭建起来一个可用的环境,也就是 demo.这里我选择的开发环境是 Eclipse,

Maven + Spring Web 项目结构在 Eclipse 下面的实现

我们在这里所要实现的关键就是如何保证 Maven 规定的目录结构。 这里对于 Maven 的目录结构做一个简单的说明:
src/main /Java src/main/resources

第一步:在 Eclipse 下面配置 Maven 环境: 略

第二步: 构建 Maven+spring web 项目 :
1.打开 Eclipse,选择新建 Maven Project,

2.然后利用向导分别建立一个 webapp 项目和 quickStart 项目


在新建的过程中会要设置要设置几个东西 groupId = cn.springbooot artifactId =SpringBootFrist ,剩下的设置就用默认的就可以了。

3.然后是将 webapp 项目下面的 WebApp 目录复制到 quickstart 项目之中,最后在在 SpringBootFirst 工程下面新建一个 src/main/resources 目录来配合 Maven 的目录结构。这样最后形成的 SpringBootFirst 工程就已经基本实现了整体的框架。


Spring boot 实现简单的 RestFul 项目

在 Spring 的官网中有关于 SpringBoot 的介绍 http://projects.spring.io/spring-boot/ 。
在 Spring Boot 中为了简化在 Spring 开发中所需要的繁杂的配置文件的处理,对于这些配置进行了轻量级封装。我们在使用 Spring Boot 进行开发的时候,需要关注很少的配置方面的问题,从而更多精力在业务逻辑上面。

第一步: pom.xml 配置文件的设置
Boot 提供了许多的“starter”模块,它们定义了一组依赖,这些依赖能够添加到构建系统之中,从而解析框架及其父平台所需的特定类库。例如,spring-boot-starter-actuator 依赖会引入一组基本的 Spring 项目,从而实现应用的快速配置和即时可用。关于这种依赖,值得强调的一点就是当开发 Web 应用,尤其是 RESTful Web 服务的时候,如果包含了 spring-boot-starter-web 依赖,它就会为你提供启动嵌入式Tomcat 容器的自动化配置,并且提供对微服务应用有价值的端点信息,如服务器信息、应用指标(metrics)以及环境详情。除此之外,如果引入 spring-boot-starter-security 模块的话,actuator 会自动配置 Spring Security,从而为应用提供基本的认证以及其他高级的安全特性。它还会为应用结构引入一个内部的审计框架,这个框架可以用来生成报告或其他的用途,比如开发认证失败的锁定策略。

<parent>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-parent</artifactId>  <version>1.3.3.RELEASE</version>  </parent>  <dependencies>  <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-web</artifactId>  </dependency>  </dependencies>  <build>  <plugins>  <plugin>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-maven-plugin </artifactId>  </plugin>  </plugins>  </build>  

上面这个是实现 Spring Boot 中 web 服务最基本的配置,写在 pom.xml 中就可以了。

第二步:编写 Java 代码
首先我将 Spring Boot 官方所给的代码例子贴在下面,以此说明,在 Spring Boot 的项目运行,部署和发布,我们需要的东西不是很多。

package hello;import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;@RestController
@EnableAutoConfiguration
public class SampleController {@RequestMapping("/")@ResponseBodyString home() {return "Hello World!";}public static void main(String[] args) throws Exception {SpringApplication.run(SampleController.class, args);}
}

将上述的代码放入 SpringBootFirst 工程的 src/main/java 目录下面,进行运行,再在浏览器中输入http://localhost:8080/ ,我们就能看到“Hello,World”了。

在 Spring 官网GUIDES 目录下有很多的小 demo,用非常简洁精炼的例子来进行说明某些特性。这里以其中的第一个项目也就是 Building a RESTful Web Service 项目来进行说明,我们只需要将源码下载下来,再把 src/main/java 中的代码复制到 SpringBootFirst 项目的 src/main/java 目录下面就可以了。


偷懒的快速构建 Spring Boot 方法

在 Spring 官网中http://spring.io/guides/gs/sts/有这么一个东西,我们在 Eclipse 中可以进行配置。然后就可以使用官网中介绍的方法快速导入一个项目进行学习。


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

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

相关文章

vue项目中axios的封装

1.安装 1 npm install axios --save 2.新建http.js&#xff0c;封装拦截器以及多种请求方式 1 import axios from axios;2 import { Message } from element-ui;3 4 // 请求拦截器5 axios.interceptors.request.use( 6 config > {7 //发送请求前需要做什么&#xff0c…

【2022】Java基础面试真题

文章目录1. Java基础1.1 为什么Java代码可以实现一次编写、到处运行&#xff1f;1.2 一个Java文件里可以有多个类吗&#xff08;不含内部类&#xff09;&#xff1f;1.3 说一说你对Java访问权限的了解1.4 介绍一下Java的数据类型1.5 int类型的数据范围是多少&#xff1f;1.6 请…

IntelliJ IDEA 中 右键新建时,选项没有Java class的解决方法和具体解释

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 我是在别人问我的时候&#xff0c;才发现还可以有这个问题&#xff0c;主要是他新项目直接打开&#xff0c;什么都没配置&#xff0c;就打…

设计模式大集锦 程序员面试全攻略

摘要&#xff1a;无论你是参与Java面试还是C#面试&#xff0c;设计模式和软件设计问题在程序员面试中是必不可少的一部分。编程和设计技两者相得益彰&#xff0c;一名出色的程序员也是一名出色的设计师&#xff0c;他们懂得如何利用代码来解决问题或者软件设计&#xff0c;但是…

【2022】多线程并发编程面试真题

文章目录4. 多线程4.1 创建线程有哪几种方式&#xff1f;4.2 说说Thread类的常用方法4.3 run()和start()有什么区别&#xff1f;4.4 线程是否可以重复启动&#xff0c;会有什么后果&#xff1f;4.5 介绍一下线程的生命周期4.6 如何实现线程同步&#xff1f;4.7 说一说Java多线程…

苹果面试8大难题及答案

摘要&#xff1a;苹果这样的公司通常会在面试过程中向求职者抛出一些逻辑的问题来考研面试者&#xff0c;所以&#xff0c;如果你对进入苹果感兴趣&#xff0c;或者向往类似的公司&#xff0c;又或者只是对逻辑问题感兴趣&#xff0c;这些面试难题值得你仔细研究。 导读&#x…

ROS系统玩转自主移动机器人(3)-- 开源机器人结构介绍

ROS系统玩转自主移动机器人&#xff08;3&#xff09;-- 开源机器人结构介绍 本机器人机械结构设计相关的所有设计文件下载地址为&#xff1a;传送门 其中包含&#xff1a;三维造型设计文件&#xff08;所有零件装配效果&#xff09;&#xff08;tips&#xff1a;基于Solidwork…

【2022】JVM常见面试真题详解

文章目录5. JVM5.1 JVM包含哪几部分&#xff1f;5.2 JVM是如何运行的&#xff1f;5.3 Java程序是怎么运行的&#xff1f;5.4 本地方法栈有什么用&#xff1f;5.5 没有程序计数器会怎么样&#xff1f;5.6 说一说Java的内存分布情况5.7 类存放在哪里&#xff1f;5.8 局部变量存放…

如何在面试时写出高质量的代码

摘要&#xff1a;有些程序员由于平时没有养成良好的编程习惯&#xff0c;在面试时写出的代码质量不高&#xff0c;最终遗憾地与心仪的公司和职位失之交臂。如何在面试时能写出高质量的代码&#xff0c;是很多程序员关心的问题。 程序员在职业生涯中难免要接受编程面试。有些程序…

IntelliJ IDEA添加jar包

见&#xff1a;http://blog.csdn.net/a153375250/article/details/50851049 以JDBC-MySQL驱动包为例 1、在IntelliJ IDEA中打开要添加jar包的Project 2、File – Project Structure如下图 3、选择Moudules – 再选择Dependencies如下图 4、选中Moudule source – 然后点击2处号…

Python3 与 C# 并发编程之~ 进程篇

上次说了很多Linux下进程相关知识&#xff0c;这边不再复述&#xff0c;下面来说说Python的并发编程&#xff0c;如有错误欢迎提出&#xff5e; 如果遇到听不懂的可以看上一次的文章&#xff1a;https://www.cnblogs.com/dotnetcrazy/p/9363810.html 官方文档&#xff1a;https…

Spring全家桶面试真题

文章目录1. Spring Boot1.1 说说你对Spring Boot的理解1.2 Spring Boot Starter有什么用&#xff1f;1.3 介绍Spring Boot的启动流程1.4 Spring Boot项目是如何导入包的&#xff1f;1.5 请描述Spring Boot自动装配的过程1.6 说说你对Spring Boot注解的了解2. Spring2.1 请你说说…

WSDL测试webservice接口记录

收到一个事情&#xff0c;需要对接第三方API&#xff0c;对方给了个service&#xff0c;看了一下&#xff0c;原来是webservices的。 上一次测试webervice的接口&#xff0c;还是至少八九年前的时候了&#xff0c;这种相对比较老旧的也好久不在使用。 于是&#xff0c;简单搞了…

idea窗口下方滚动条不明显设置

在使用idea时&#xff0c;下方的滚动条老是显示不明显&#xff0c;每次点击拖拽都很费劲&#xff0c;在网上找了很多相关设置&#xff0c;最后确定了一个最好的办法解决问题&#xff1a; Shift &#xff08;上档&#xff09; 鼠标滚动&#xff0c;这样就可以横向翻滚了&#…

把握本质规律——《数学之美》作者吴军

无论是互联网&#xff0c;还是手机、电视&#xff0c;现代通信都遵循信息论的规律&#xff0c;整个信息论的基础都是数学。搜索引擎、语音识别、机器翻译也都是我们生活中离不开的技术&#xff0c;数学也是解决这些问题的最好工具。在《浪潮之巅》出版后&#xff0c;吴军将蕴含…

Hibernate4 注解方法说明

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1.类级别注解 Entity 映射实体类 Table 映射数句库表 Entity(name"tableName") - 必须&#xff0c;注解将一个类声明…

消息队列常见面试题

文章目录2. 消息队列2.1 MQ有什么用&#xff1f;2.2 说一说生产者与消费者模式2.3 消息队列如何保证顺序消费&#xff1f;2.4 消息队列如何保证消息不丢&#xff1f;2.5 消息队列如何保证不重复消费&#xff1f;2.6 MQ处理消息失败了怎么办&#xff1f;2.7 请介绍消息队列推和拉…

Mybatis 详解--- 一级缓存、二级缓存

2019独角兽企业重金招聘Python工程师标准>>> Mybatis 为我们提供了一级缓存和二级缓存&#xff0c;可以通过下图来理解&#xff1a; ①、一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象&#xff0c;在对象中有一个数据结构&#xff08;Hash…

Redis常见面试题详解

文章目录1. Redis1.1 Redis可以用来做什么&#xff1f;1.2 Redis和传统的关系型数据库有什么不同&#xff1f;1.3 Redis有哪些数据类型&#xff1f;1.4 Redis是单线程的&#xff0c;为什么还能这么快&#xff1f;1.5 Redis在持久化时fork出一个子进程&#xff0c;这时已经有两个…

IntelliJ 创建main函数、for循环、输出语句快捷键

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 今天偶然发现了IntelliJ中 创建main函数的快捷键&#xff0c;依次还有for循环&#xff0c;System.out.println(); 在编写代码的时候直接…