博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Boot基础:Spring Boot简介与快速搭建(1)
阅读量:6325 次
发布时间:2019-06-22

本文共 5040 字,大约阅读时间需要 16 分钟。

1. Spring Boot简介

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

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

2. Spring Boot快速搭建

2.1 Maven项目构建

  Maven构建网址:

  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 项目结构及说明

4.0.0
libing
com-helloworld-api
war
0.0.1-SNAPSHOT
com-helloworld-api Maven Webapp
http://maven.apache.org
org.springframework.boot
spring-boot-starter-parent
1.5.6.RELEASE
UTF-8
UTF-8
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-devtools
true
com-helloworld-api
org.springframework.boot
spring-boot-maven-plugin
true
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;@SpringBootApplicationpublic 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;@SpringBootApplicationpublic 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

转载于:https://www.cnblogs.com/libingql/p/7346686.html

你可能感兴趣的文章
Skype For Business2015 监控-存档服务器配置介绍
查看>>
linux中install命令基本用法
查看>>
技术分享连载(三十八)
查看>>
Lync Server 2010 安装部署系列二:域控制器安装
查看>>
WYSE *.ini常用写法以及ConfGen工具
查看>>
Android总结篇系列:Android 权限
查看>>
R学习笔记 第五篇:字符串操作
查看>>
在Mac OS下配置PHP开发环境
查看>>
(转)介绍下Nuget在传统Asp.net项目中的使用
查看>>
C# ArcEngine 实现点击要素高亮并弹出其属性
查看>>
初识GO语言——安装Go语言
查看>>
SDK命令行操作
查看>>
基于Bootstrap的DropDownList的JQuery组件的完善版
查看>>
EXTJS学习系列提高篇:第二十四篇(转载)作者殷良胜,ext2.2打造全新功能grid系列--阅增删改篇...
查看>>
Hadoop MapReduce编程 API入门系列之分区和合并(十四)
查看>>
判断二叉树是否平衡、是否完全二叉树、是否二叉排序树
查看>>
并查集的应用之求解无向图中的连接分量个数
查看>>
7个神奇的jQuery 3D插件
查看>>
在线浏览PDF之PDF.JS (附demo)
查看>>
波形捕捉:(3)"捕捉设备"性能
查看>>