spring boot环境搭建(一)

简介: 使用Spring或者SpringMVC的话依然有许多这样的东西需要我们进行配置,这样不仅徒增工作量而且在跨平台部署时容易出问题。由于这些已经存在的问题,Spring Boot应运而生,使用Spring Boot可以让我们快速创建一个基于Spring的项目,而让这个Spring项目跑起来我们只需要很少的配置就可以了。使用Spring或者SpringMVC我们需要添加大量的依赖,而这些依赖很多都是固定的,这里Spring Boot 通过starter能够帮助我们简化Maven配置。

Spring Boot主要有如下核心功能:



1.独立运行的Spring项目


2.内嵌Servlet容器


3.提供starter简化Maven配置


4.自动配置Spring


5.准生产的应用监控


6.无代码生成和xml配置


使用Spring Tool Suite这个软件,可以直接new 一个Spring Starter Project,或者去Sping官网下载一个demo网址点击打开链接,或者创建一个Maven项目自己配置pom.xml


1.pom.xml的配置:这里添加了web模块方便测试

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.smxy</groupId>
  <artifactId>springboot</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>springboot Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <!--文件的编码格式以及jdk的版本 -->
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.12.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
  </parent>
   <!--下载地址换为阿里云的 -->
  <repositories>
    <repository>
      <id>maven-ali</id>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>always</updatePolicy>
        <checksumPolicy>fail</checksumPolicy>
      </snapshots>
    </repository>
  </repositories>
  <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>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <!-- 热部署 -->
    <!-- devtools可以实现页面热部署(即页面修改后会立即生效, 这个可以直接在application.properties文件中配置spring.thymeleaf.cache=false来实现) -->
    <!-- 实现类文件热部署(类文件修改后不会立即生效),实现对属性文件的热部署。 -->
    <!-- 即devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机), 注意:因为其采用的虚拟机机制,该项重启是很快的 -->
    <!-- (1)base classloader (Base类加载器):加载不改变的Class,例如:第三方提供的jar包。 -->
    <!-- (2)restart classloader(Restart类加载器):加载正在开发的Class。 -->
    <!-- 为什么重启很快,因为重启的时候只是加载了在开发的Class,没有重新加载第三方的jar包。 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <!-- optional=true, 依赖不会传递, 该项目依赖devtools; 之后依赖boot项目的项目如果想要使用devtools, 
        需要重新引入 -->
      <optional>true</optional>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
</project>

2.创建一个启动,需要加上@SpringBootApplication注解,用于快捷配置启动类。

20180414203123556.png

注意:APP配置类所在的包必须是最上层的,否侧,其他包的类配置将会失败

 

3.利用web模块来测试

package com.smxy.lq.controller;
import java.util.Date;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.smxy.lq.pojo.User;
@RestController
public class UserController {
  @RequestMapping(value = "/hello")
  public Object hello() {
    return "spring -- boot";
  }
}

@RestController注解相当于@ResponseBody + @Controller合在一起的作用。

既可以返回json数据,也可以返回页面

20180414203939532.png

4.返回json数据测试,写一个User类,然后返回user的json数据

package com.smxy.lq.controller;
import java.util.Date;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.smxy.lq.pojo.User;
@RestController
public class UserController {
    @RequestMapping(value = "/hello")
    public Object hello() {
        return "spring -- boot";
    }
    @RequestMapping("/jsonuser")
    public User jsonuser() {
        User user = new User();
        user.setAge(18);
        user.setBirthday(new Date());
        user.setName("小明");
        return user;
    }
}

返回json数据

20180414204302996.png

相关文章
|
9月前
|
Kubernetes Java 容器
部署 Spring Boot 应用到 K8S 教程
部署 Spring Boot 应用到 K8S 教程
340 0
|
6月前
|
IDE Java Shell
如何快速搭建一个 Spring Boot 项目?
本指南介绍如何通过Spring Initializr创建一个基本的Spring Boot Web项目。首先访问`start.spring.io`,选择Maven项目、Java语言、Spring Boot版本3.1.0、Java 17,并勾选Spring Web依赖。点击“Generate”下载项目模板。解压后,IDE打开项目并修改`DemoApplication.java`,添加REST控制器以实现一个简单的“Hello World!”服务。通过`@RestController`和`@GetMapping`注解定义Web端点,使用`@RequestParam`获取URL参数。
233 1
|
7月前
|
Java Spring
Spring Boot中的多环境配置
Spring Boot中的多环境配置
|
7月前
|
XML Java API
Spring Boot快速入门指南
Spring Boot快速入门指南
|
9月前
|
Java Spring
Spring练习环境搭建
Spring练习环境搭建
48 0
|
存储 Java 编译器
Spring环境搭建
Spring环境搭建
80 0
|
XML 前端开发 Java
【Spring Boot】Spring Boot特点及重要策略,含安装步骤详细讲解
【Spring Boot】Spring Boot特点及重要策略,含安装步骤详细讲解
BXA
|
XML 安全 前端开发
Spring Boot快速搭建项目
Spring Boot是一个基于Spring Framework的子项目,旨在简化Spring应用程序的初始化过程、开发过程和部署过程,并提供快速、敏捷的开发环境
BXA
558 0
|
Java 测试技术 Maven
嗯,挺全乎儿的,Spring Boot 多环境配置都在这儿了,你喜欢哪一种呢?
前言 Spring Boot 自带的多环境配置 创建不同环境的配置文件 指定运行的环境 Maven 的多环境配置 创建多环境配置文件 定义激活的变量 pom 文件中定义 profiles 资源过滤 总结 总结
|
XML 开发框架 监控
Spring Boot 2.X系列教程:七天从无到有掌握Spring Boot-持续更新
Spring Boot 2.X系列教程:七天从无到有掌握Spring Boot-持续更新
Spring Boot 2.X系列教程:七天从无到有掌握Spring Boot-持续更新