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

相关文章
|
4月前
|
监控 安全 Java
Spring Boot2.6入门
Spring Boot2.6入门
52 0
|
28天前
|
Kubernetes Java 容器
部署 Spring Boot 应用到 K8S 教程
部署 Spring Boot 应用到 K8S 教程
45 0
|
3月前
|
Java Spring
Spring练习环境搭建
Spring练习环境搭建
8 0
|
3月前
|
Java 应用服务中间件 开发者
spring boot入门
spring boot入门
41 1
|
8月前
|
监控 Java Maven
4.0 Spring Boot入门
Spring Boot是Pivotal团队在2014年推出的全新框架,主要用于简化Spring项目的开发过程,可以使用最少的配置快速创建Spring项目。
79 0
|
7月前
|
存储 Java 编译器
Spring环境搭建
Spring环境搭建
36 0
|
11月前
|
SQL druid Java
spring boot入门(中)
spring boot入门(中)
|
Java 测试技术 Maven
嗯,挺全乎儿的,Spring Boot 多环境配置都在这儿了,你喜欢哪一种呢?
前言 Spring Boot 自带的多环境配置 创建不同环境的配置文件 指定运行的环境 Maven 的多环境配置 创建多环境配置文件 定义激活的变量 pom 文件中定义 profiles 资源过滤 总结 总结
|
XML IDE Java
Spring Boot快速入门
Spring Boot快速入门
102 0
Spring Boot快速入门
|
JSON Java 程序员
大清朝早亡了,还没有入门 Spring Boot?(2)
大清朝早亡了,还没有入门 Spring Boot?
84 0
大清朝早亡了,还没有入门 Spring Boot?(2)