赞
踩
这是一系列关于 SpringBoot Web框架实战 的教程,从项目的创建,到一个完整的 web 框架(包括异常处理、拦截器、context 上下文等);从0开始,到一个可以直接运用在生产环境中的web框架。而且所有源码均开源:https://github.com/xiongxianhe/springboot
注:本系列项目的构建工具均使用 IntelliJ IDEA
选择 Maven Archetype
在 Archetype 中选择 org.apache.maven.archetypes:maven-archetype-quickstart
其他属性内容,根据实际情况进行填写,如下图:
等待 maven 加载相关依赖后,呈现如下相关文件结构:
打开 pom.xml 文件,默认文件内容如下:
<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>org.jdz</groupId> <artifactId>usepom</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>usepom</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
<!--应用的父项目-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.3</version>
</parent>
<dependencies>
<!-- 这里的依赖没有指明版本,这是由于在spring-boot-dependencies中都已经指明了版本 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- 这个插件,可以将应用打包成一个可执行的jar包;-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
完整的 pom.xml 内容:
<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>org.jdz</groupId> <artifactId>usepom</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>usepom</name> <url>http://maven.apache.org</url> <!--应用的父项目--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.3</version> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- 这里的依赖没有指明版本,这是由于在spring-boot-dependencies中都已经指明了版本 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <!-- 这个插件,可以将应用打包成一个可执行的jar包;--> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
pom.xml 配置好,更新 maven,如下图:
package org.jdz; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * Hello world! * */ @SpringBootApplication public class App { public static void main( String[] args ) { System.out.println( "Hello World!" ); SpringApplication.run(App.class, args); } }
@SpringBootApplication
@SpringBootApplication用来标注应用的主配置类,那么SpringBoot就可以通过启动这个主配置类的main方法来启动SpringBoot应用。
到此,一个 SpringBoot 项目就已创建完成,点击运行,输入如下图:
SpringBoot 内置 Tomcat 并启动 8080 为 web 端口,在浏览器上访问 http://localhost:8080/ , 出现如下图所示,即 SpringBoot 已正常启动
注:
- 新建 controller 包 不是必须
- 类文件名 HelloController 的命名格式不是必须
- 只需要 Controller 类中的类名增加
@Controller
即可
package org.jdz.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class HelloController { @RequestMapping("/hello") @ResponseBody public String hello() { return "Hello Spring Boot."; } }
重启启动项目,并访问: http://localhost:8080/hello ,此时页面输出:
Hello Spring Boot.
完整的目录结构:
app ├─pom.xml ├─target | ├─usepom-1.0-SNAPSHOT.jar | ├─usepom-1.0-SNAPSHOT.jar.original | ├─test-classes | | ├─org | | | ├─jdz | | | | └AppTest.class | ├─surefire-reports | | ├─org.jdz.AppTest.txt | | └TEST-org.jdz.AppTest.xml | ├─maven-status | | ├─maven-compiler-plugin | | | ├─testCompile | | | | ├─default-testCompile | | | | | ├─createdFiles.lst | | | | | └inputFiles.lst | | | ├─compile | | | | ├─default-compile | | | | | ├─createdFiles.lst | | | | | └inputFiles.lst | ├─maven-archiver | | └pom.properties | ├─generated-test-sources | | ├─test-annotations | ├─generated-sources | | ├─annotations | ├─classes | | ├─org | | | ├─jdz | | | | ├─App.class | | | | ├─controller | | | | | └HelloController.class ├─src | ├─test | | ├─java | | | ├─org | | | | ├─jdz | | | | | └AppTest.java | ├─main | | ├─java | | | ├─org | | | | ├─jdz | | | | | ├─App.java | | | | | ├─controller | | | | | | └HelloController.java
源码: https://github.com/xiongxianhe/springboot.git
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。