【SpringBoot Web框架实战教程(开源)】01 利用 pom 方式创建 SpringBoot 第 ...

打印 上一主题 下一主题

主题 904|帖子 904|积分 2712

导读

   这是一系列关于 SpringBoot Web框架实战 的教程,从项目标创建,到一个完备的 web 框架(包括异常处理处罚、拦截器、context 上下文等);从0开始,到一个可以直接运用在生产环境中的web框架。而且所有源码均开源:https://github.com/xiongxianhe/springboot
  
注:本系列项目标构建工具均利用 IntelliJ IDEA
1. 创建项目



  • 选择 Maven Archetype
  • 在 Archetype 中选择 org.apache.maven.archetypes:maven-archetype-quickstart
  • 其他属性内容,根据现实情况进行填写,如下图:

2. 配置 pom.xml 文件

等候 maven 加载相干依赖后,出现如下相干文件结构:

打开 pom.xml 文件,默认文件内容如下:
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3.   <modelVersion>4.0.0</modelVersion>
  4.   <groupId>org.jdz</groupId>
  5.   <artifactId>usepom</artifactId>
  6.   <version>1.0-SNAPSHOT</version>
  7.   <packaging>jar</packaging>
  8.   <name>usepom</name>
  9.   <url>http://maven.apache.org</url>
  10.   <properties>
  11.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  12.   </properties>
  13.   <dependencies>
  14.     <dependency>
  15.       <groupId>junit</groupId>
  16.       <artifactId>junit</artifactId>
  17.       <version>3.8.1</version>
  18.       <scope>test</scope>
  19.     </dependency>
  20.   </dependencies>
  21. </project>
复制代码
增长 SpringBoot 相干配置

主要配置:

  1. <!--应用的父项目-->
  2. <parent>
  3.     <groupId>org.springframework.boot</groupId>
  4.     <artifactId>spring-boot-starter-parent</artifactId>
  5.     <version>2.7.3</version>
  6. </parent>
  7. <dependencies>
  8.     <!-- 这里的依赖没有指明版本,这是由于在spring-boot-dependencies中都已经指明了版本 -->
  9.     <dependency>
  10.       <groupId>org.springframework.boot</groupId>
  11.       <artifactId>spring-boot-starter-web</artifactId>
  12.     </dependency>
  13. </dependencies>
复制代码
相干插件

  1. <!-- 这个插件,可以将应用打包成一个可执行的jar包;-->
  2. <build>
  3.     <plugins>
  4.       <plugin>
  5.         <groupId>org.springframework.boot</groupId>
  6.         <artifactId>spring-boot-maven-plugin</artifactId>
  7.       </plugin>
  8.     </plugins>
  9. </build>
复制代码
完备的 pom.xml 内容:
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3.   <modelVersion>4.0.0</modelVersion>
  4.   <groupId>org.jdz</groupId>
  5.   <artifactId>usepom</artifactId>
  6.   <version>1.0-SNAPSHOT</version>
  7.   <packaging>jar</packaging>
  8.   <name>usepom</name>
  9.   <url>http://maven.apache.org</url>
  10.   <!--应用的父项目-->
  11.   <parent>
  12.     <groupId>org.springframework.boot</groupId>
  13.     <artifactId>spring-boot-starter-parent</artifactId>
  14.     <version>2.7.3</version>
  15.   </parent>
  16.   <properties>
  17.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  18.   </properties>
  19.   <dependencies>
  20.     <!-- 这里的依赖没有指明版本,这是由于在spring-boot-dependencies中都已经指明了版本 -->
  21.     <dependency>
  22.       <groupId>org.springframework.boot</groupId>
  23.       <artifactId>spring-boot-starter-web</artifactId>
  24.     </dependency>
  25.     <dependency>
  26.       <groupId>junit</groupId>
  27.       <artifactId>junit</artifactId>
  28.       <version>3.8.1</version>
  29.       <scope>test</scope>
  30.     </dependency>
  31.   </dependencies>
  32.   <!-- 这个插件,可以将应用打包成一个可执行的jar包;-->
  33.   <build>
  34.     <plugins>
  35.       <plugin>
  36.         <groupId>org.springframework.boot</groupId>
  37.         <artifactId>spring-boot-maven-plugin</artifactId>
  38.       </plugin>
  39.     </plugins>
  40.   </build>
  41. </project>
复制代码
pom.xml 配置好,更新 maven,如下图:

3. 编写代码

main 入口文件

  1. package org.jdz;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. /**
  5. * Hello world!
  6. *
  7. */
  8. @SpringBootApplication
  9. public class App
  10. {
  11.     public static void main( String[] args )
  12.     {
  13.         System.out.println( "Hello World!" );
  14.         SpringApplication.run(App.class, args);
  15.     }
  16. }
复制代码
@SpringBootApplication
@SpringBootApplication用来标注应用的主配置类,那么SpringBoot就可以通过启动这个主配置类的main方法来启动SpringBoot应用。
到此,一个 SpringBoot 项目就已创建完成,点击运行,输入如下图:

SpringBoot 内置 Tomcat 并启动 8080 为 web 端口,在欣赏器上访问 http://localhost:8080/ , 出现如下图所示,即 SpringBoot 已正常启动

4. 输出 hello springboot

controller 类编写



  • 新建 controller 包
  • 在 controller 包下新建 HelloController.java
注:
   

  • 新建 controller 包 不是必须
  • 类文件名 HelloController 的命名格式不是必须
  • 只需要 Controller 类中的类名增长 @Controller 即可
  1. package org.jdz.controller;
  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.web.bind.annotation.RequestMapping;
  4. import org.springframework.web.bind.annotation.ResponseBody;
  5. @Controller
  6. public class HelloController {
  7.     @RequestMapping("/hello")
  8.     @ResponseBody
  9.     public String hello() {
  10.         return "Hello Spring Boot.
  11. ";
  12.     }
  13. }
复制代码
重启启动项目,并访问: http://localhost:8080/hello ,此时页面输出:
  1. Hello Spring Boot.
复制代码
完备的目录结构:
  1. app
  2. ├─pom.xml
  3. ├─target
  4. |   ├─usepom-1.0-SNAPSHOT.jar
  5. |   ├─usepom-1.0-SNAPSHOT.jar.original
  6. |   ├─test-classes
  7. |   |      ├─org
  8. |   |      |  ├─jdz
  9. |   |      |  |  └AppTest.class
  10. |   ├─surefire-reports
  11. |   |        ├─org.jdz.AppTest.txt
  12. |   |        └TEST-org.jdz.AppTest.xml
  13. |   ├─maven-status
  14. |   |      ├─maven-compiler-plugin
  15. |   |      |           ├─testCompile
  16. |   |      |           |      ├─default-testCompile
  17. |   |      |           |      |          ├─createdFiles.lst
  18. |   |      |           |      |          └inputFiles.lst
  19. |   |      |           ├─compile
  20. |   |      |           |    ├─default-compile
  21. |   |      |           |    |        ├─createdFiles.lst
  22. |   |      |           |    |        └inputFiles.lst
  23. |   ├─maven-archiver
  24. |   |       └pom.properties
  25. |   ├─generated-test-sources
  26. |   |           ├─test-annotations
  27. |   ├─generated-sources
  28. |   |         ├─annotations
  29. |   ├─classes
  30. |   |    ├─org
  31. |   |    |  ├─jdz
  32. |   |    |  |  ├─App.class
  33. |   |    |  |  ├─controller
  34. |   |    |  |  |     └HelloController.class
  35. ├─src
  36. |  ├─test
  37. |  |  ├─java
  38. |  |  |  ├─org
  39. |  |  |  |  ├─jdz
  40. |  |  |  |  |  └AppTest.java
  41. |  ├─main
  42. |  |  ├─java
  43. |  |  |  ├─org
  44. |  |  |  |  ├─jdz
  45. |  |  |  |  |  ├─App.java
  46. |  |  |  |  |  ├─controller
  47. |  |  |  |  |  |     └HelloController.java
复制代码
源码: https://github.com/xiongxianhe/springboot.git

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

北冰洋以北

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表