Spring Boot基础:Spring Boot简介与快速搭建(1)

1. Spring Boot简介

  Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的创建、运行、调试、部署等。

  Spring Boot默认使用tomcat作为服务器,使用logback提供日志记录。

2. Spring Boot快速搭建

2.1 Maven项目构建

  Maven构建网址:http://start.spring.io/

  Spring Boot基础结构:

    ◊ src/main/java:程序开发以及主程序入口

    ◊ src/main/resources:配置文件

    ◊ src/test/java:测试程序

  Spring Boot建议目录结构:

com
  +- example
    +- myproject
      +- Application.java
      |
      +- domain
      |  +- Customer.java
      |  +- CustomerRepository.java
      |
      +- service
      |  +- CustomerService.java
      |
      +- controller
      |  +- CustomerController.java
      |

其中:

  (1)Application.java:建议放到跟目录下面,主要用于做一些框架配置。

  (2)domain目录:主要用于实体(Entity)与数据访问层(Repository)

  (3)service:主要是业务类代码

  (4)controller:负责页面访问控制

2.2 项目结构及说明

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>libing</groupId>
    <artifactId>com-helloworld-api</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>com-helloworld-api Maven Webapp</name>
    <url>http://maven.apache.org</url>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.6.RELEASE</version>
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>

    <build>
        <finalName>com-helloworld-api</finalName>

        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

pom.xml

其中:

  pom中parent设为 spring-boot-starter-parent ,建议使用最新的 RELEASE 版本。

  spring-boot-starter:核心模块,包括自动配置支持、日志和YAML。

package com.libing.helloworld;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class HelloWorldApplication {

    public static void main(String[] args) {

        SpringApplication.run(HelloWorldApplication.class, args);

    }

}

HelloWorldApplication.java

其中:

  @SpringBootApplication:等同于默认的属性 @Configuration,@EnableAutoConfiguration, @ComponentScan。

    @Configuration、@ComponentScan是spring框架的语法,用于代码方式创建配置信息和扫描包。

    在根包启动类添加@ComponentScan注解而不需要添加任何参数,Spring Boot会在根包下面搜索注有@Component, @Service,@Repository, @Controller注解的所有类,并将他们注册为Spring Beans。

    @EnableAutoConfiguration是spring boot语法,表示将使用自动配置。

  @EnableAutoConfiguration:根据pom配置(具体的依赖)来判断这是一个什么应用,并创建相应的环境。

  SpringApplication:启动管理器,用于从main方法启动Spring应用的类。

    默认执行以下步骤:

    (1)创建一个合适的ApplicationContext实例 (取决于classpath)。

    (2)注册一个CommandLinePropertySource,以便将命令行参数作为Spring properties。

    (3)刷新application context,加载所有单例beans。

    (4)激活所有CommandLineRunner beans。

    默认,直接使用SpringApplication 的静态方法run()。可以创建实例,并自行配置需要的设置。

package com.libing.helloworld.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/helloworld")
public class HelloWorldController {

    @GetMapping
    public String Index() {
        return "Hello World!";
    }

}

HelloWorldController.java

其中:

  @RestController:controller中的方法都以json格式输出

server.port=9000

application.properties

2.3 修改启动端口

  (1)通过实现EmbeddedServletContainerCustomizer接口

package com.libing.helloworld;

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
import org.springframework.boot.web.support.SpringBootServletInitializer;

@SpringBootApplication
public class HelloWorldApplication extends SpringBootServletInitializer implements EmbeddedServletContainerCustomizer {

    public static void main(String[] args) {
        new SpringApplicationBuilder(HelloWorldApplication.class).web(true).run(args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(HelloWorldApplication.class);
    }

    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {
        container.setPort(9000);
    }

}

  (2)设置SpringApplication.run参数args

SpringApplication.run(HelloWorldApplication.class, "--server.port=9000");

  (3)application.properties配置文件

server.port=9000
时间: 2024-10-08 09:57:04

Spring Boot基础:Spring Boot简介与快速搭建(1)的相关文章

Spring Boot基础-Spring Tool Suite工具的安装的安装

Spring Boot基础教程1-Spring Tool Suite工具的安装 Spring Boot基础教程2-RESTfull API简单项目的快速搭建 Spring Boot基础教程3-配置文件详解:Properties和YAML Spring Boot基础教程4-配置文件-多环境配置 Spring Boot基础教程5-日志配置-logback和log4j2 源码地址:https://github.com/roncoo/spring-boot-demo 1.工具下载地址: Eclipse:

Spring Boot 基础

Spring Boot 基础 Spring Boot 项目(参考1) 提供了一个类似ASP.NET MVC的默认模板一样的标准样板,直接集成了一系列的组件并使用了默认的配置.使用Spring Boot 不会降低学习成本,甚至增加了学习成本,但显著降低了使用成本并提高了开发效率.如果没有Spring基础不建议直接上手. 1.基础项目 这里只关注基于Maven的项目构建,使用Spring Boot CLI命令行工具和Gradle构建方式请参考官网. (1)创建项目: 创建类型为quickstart的

玩转 SpringBoot 2 快速搭建 | RESTful Api 篇

概述 RESTful 是一种架构风格,任何符合 RESTful 风格的架构,我们都可以称之为 RESTful 架构.我们常说的 RESTful Api 是符合 RESTful 原则和约束的 HTTP 协议的Web 接口,需要注意的是它和 HTTP 协议并非绑定关系.我的个人理解就是:通过HTTP协议不同请求方法(GET.POST.PUT.Patch,DELETE)来判断如何操作统一命名的资源,并且通过不同的响应码来知道执行的状态. 关于 RESTful API 具体详细介绍,我推荐阅读下面 3

Spring Boot基础-RESTfull API简单项目的快速搭建

Spring Boot基础教程1-Spring Tool Suite工具的安装 Spring Boot基础教程2-RESTfull API简单项目的快速搭建 Spring Boot基础教程3-配置文件详解:Properties和YAML Spring Boot基础教程4-配置文件-多环境配置 Spring Boot基础教程5-日志配置-logback和log4j2 源码地址:https://github.com/roncoo/spring-boot-demo 一.搭建一个简单的RESTfull

Spring Boot 基础概述

上半年一直忙于工作,没有太多的时间去写文字,期间也比较关注 .net core 的发展,比较看好 asp.net core 的 OO 抽象设计,也参考了abp.zero 的设计.其实大多数情况平常的工作主要还是结合一些理论与技术框架快速实现:个人的时间就是成本,最近打算整理下 Spring Boot  的相关知识,也算是多一种选择吧 . 概述与目录 对于学习新的知识,我认为最快的方式就是先过一遍官方的文档,这一步很重要:后面再结合实际情况的运用就好了.所以我罗列了一些目录,应该覆盖了大多数的运用

漫谈spring cloud 与 spring boot 基础架构

详情请交流  QQ  709639943 01.漫谈spring cloud 与 spring boot 基础架构 02.漫谈spring cloud分布式服务架构 03.Node.js入门到企业Web开发中的应用 04.精通高级RxJava 2响应式编程思想 05.Java秒杀系统方案优化 高性能高并发实战 06.Java深入微服务原理改造房产销售平台 07.快速上手Linux 玩转典型应用 08.快速上手Ionic3 多平台开发企业级问答社区 09.Java Spring Security开

Spring Boot基础教程》 第1节工具的安装和使用

<Spring Boot基础教程> 第1节 工具的安装和使用 Spring Boot文档 https://qbgbook.gitbooks.io/spring-boot-reference-guide-zh/content/I.%20Spring%20Boot%20Documentation/ 一.课程使用的工具                                                      Spring Tool Suite:https://spring.io/to

二、Spring Boot基础

[学习Spring Boot基础,创建Spring Boot项目,讲解Spring Boot的配置,是学习Spring Cloud Alibaba的必知必会.] Spring Boot基础 快速创建应用  https://www.cnblogs.com/my-program-life/p/11592838.html Spring Boot基础知识  https://www.cnblogs.com/my-program-life/p/11958428.html 补充知识: Spring Boot

Spring Boot基础教程8-web应用开发-模板引擎jsp

一.spring boot的web应用开发,是基于spring mvc 二.Spring boot 在spring默认基础上,自动配置添加了以下特性: 1.   包含了ContentNegotiatingViewResolver和BeanNameViewResolver beans. 2.   对静态资源的支持,包括对WebJars的支持. 3.   自动注册Converter,GenericConverter,Formatter beans. 4.   对HttpMessageConverte