补习系列-springboot项目基础搭建课

前言

springboot 最近火的不行,目前几乎已经是 spring 家族最耀眼的项目了。抛开微服务、技术社区这些推广因素不说,框架本身的确有非常多的优点。比如

更简化的配置,摒除了许多繁杂的xml配置(事实证明,越简单的东西越容易让人记住);

内置Servlet容器,不再依赖外部环境

大量的starter模块,随手拈来

支持热部署

作为一名老程序员来说,仍然需要保持一个积极学习的态度。
哎,简单点说就是少点伤感,认清现实。你曾经引以为傲的某某EE 技术已经被颠覆了,赶紧换车道 .....

废话不多说,以下内容主要讲的是怎么利用springboot 这个脚手架搭建一个最精简的项目。
其中几个模块会非常实用,这包括结构、配置、日志、部署..

一、基础结构

springboot 项目仍然是使用maven 进行初始化及构建,下面是一个典型的结构:
| 目录/文件 | 说明|
|-|-|
| pom.xml | 依赖文件 |
| src/main/java | 代码目录 |
| src/main/resources| 配置目录,包含application.properties、log4j2.xml |
| src/main/build | 定义构建文件目录 |
| src/test/java |测试代码 |
| src/test/resources |测试配置 |

大致看一下就行了,不了解maven的话,点击这里先学习入门,项目的构建工具是一定要先了解的。
可以通过eclipse 或idea 创建一个maven项目,再引入springboot依赖,pom文件的定义参考如下:

<?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 " xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <groupId>org.zales</groupId> <artifactId>dmo-boot</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spring-boot.version>1.5.1.RELEASE</spring-boot.version> <java.version>1.8</java.version> </properties> <dependencies> <!-- springboot application dependencies --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring-boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- springweb --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>${spring-boot.version}</version> <exclusions> <!-- exclude the default logging module --> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <!-- log4j2 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> <version>${spring-boot.version}</version> </dependency> <!-- springboot test --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <version>${spring-boot.version}</version> </dependency> <!-- used for livereload --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <version>${spring-boot.version}</version> <optional>true</optional> </dependency> <!-- used for template --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> <version>${spring-boot.version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>${java.version}</source> <target>${java.version}</target> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> </plugins> </build> </project>

springboot 官方的示例是让你继承一个spring-boot-parent,但这个很鸡肋,通常的项目都会有自己的继承结构。
所以我们间接利用spring-boot-dependencies将所有依赖引入,其他模块的引入都是按需。
maven-compiler-plugin的定义用于将项目指定为Java1.8的编译级别。

其他途径
你还可以利用spring的在线网站初始化一个springboot项目,点击这里

二、添加代码

启动代码非常简单,新建一个名为"DemoBoot**的类:

/** * 入口类 * */ @SpringBootApplication public class DemoBoot { public static void main(String[] args) throws Exception { SpringApplication app = new SpringApplication(DemoBoot.class); // 指定PID生成,默认输出到application.pid app.addListeners(new ApplicationPidFileWriter()); app.run(args); } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyyzxs.html