教你十分钟快速搭建springBoot项目实战

首先申明,本文并没有原理性的东西(请自行百度),适合于刚接触 springBoot并有一定 javaweb开发基础的人群,大神和小白请出门左拐。 ' E# G' |& ?8 j0 |( X; S

一、使用工具, Q/ W# _3 t# g* T2 I+ \
Eclipse、Maven、springBoot8 ]2 K, [. J, w' C$ ?1 {
本文不会讲解Maven的安装使用以及Eclipse下如何创建一个Maven项目
6 G) _& I5 ^. R* {1 t
二、实现功能
1、springBoot项目项目结构


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>com.acts.java</groupId>
  •   <artifactId>springBoot_demo</artifactId>
  •   <version>0.0.1-SNAPSHOT</version>
  •   <packaging>jar</packaging>

  •   <name>springBoot_demo</name>
  •   <url>http://maven.apache.org</url>

  •   <properties>
  •     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  •   </properties>
  •    <!-- spring-boot-starter-parent包含了大量配置好的依赖管理,在自己项目添加这些依赖的时候不需要写<version>版本号 -->
  •   <parent>
  •         <groupId>org.springframework.boot</groupId>
  •         <artifactId>spring-boot-starter-parent</artifactId>
  •         <version>1.5.1.RELEASE</version>
  •         <relativePath/>
  •   </parent>
  •   <dependencies>
  •         <!-- 实现web功能 -->
  •         <dependency>
  •           <groupId>org.springframework.boot</groupId>
  •           <artifactId>spring-boot-starter-web</artifactId>
  •         </dependency>
  •         <!-- 模版 -->
  •         <dependency>
  •           <groupId>org.springframework.boot</groupId>
  •           <artifactId>spring-boot-starter-thymeleaf</artifactId>
  •         </dependency>
  •         <dependency>
  •             <groupId>org.springframework.boot</groupId>
  •             <artifactId>spring-boot-starter-test</artifactId>
  •             <scope>test</scope>
  •         </dependency>
  •   </dependencies>
  •   <build>
  •         <plugins>
  •             <!-- 打包项目 mvn clean package -->
  •             <plugin>
  •                 <groupId>org.springframework.boot</groupId>
  •                 <artifactId>spring-boot-maven-plugin</artifactId>
  •                 <dependencies>
  •                     <!-- mvn spring-boot:run 热部署启动 -->
  •                     <dependency>
  •                         <groupId>org.springframework</groupId>
  •                         <artifactId>springloaded</artifactId>
  •                         <version>1.4.0.RELEASE</version>
  •                     </dependency>
  •                 </dependencies>
  •             </plugin>
  •         </plugins>
  •     </build>
  • </project>7 j! f$ ]. l9 j0 U3 y5 a
2、如何启动项目以及配置项目启动端口以及日志级别
  • #服务端口
  • server.port=8080
  • #spring boot从控制台打印出来的日志级别只有ERROR, WARN 还有INFO,如果你想要打印debug级别的日志
  • #debug=true
  • logging.level.root=INFO
  • #logging.level.org.springframework.web=DEBUG
  • #logging.level.org.hibernate=ERROR

  • #thymeleaf start
  • #spring.thymeleaf.prefix: /templates/   
  • #spring.thymeleaf.suffix: .html
  • #spring.thymeleaf.mode=HTML5
  • #spring.thymeleaf.encoding=UTF-8
  • #spring.thymeleaf.content-type=text/html
  • #开发时关闭缓存,不然没法看到实时页面
  • #spring.thymeleaf.cache=false1 b% m& F9 R  O! U) g
3、启动springBoot项目并展示一个页面,对应的是templates下index.html页面。
  • /**
  • * 其实我是个演员
  • * 小柒
  • */
  • @SpringBootApplication
  • @Controller
  • public class App {
  •     private static final Logger logger = Logger.getLogger(App.class);

  •     @RequestMapping("/")
  •     public String   greeting() {
  •         return "index";
  •     }
  •     public static void main(String[] args) {
  •         SpringApplication.run(App.class, args);
  •         logger.info("项目启动 ");
  •     }
  • }6 x6 M9 i3 S; a3 F
4、整合thymeleaf模版实现一个简单的页面,对应的是templates下hello.html页面。
  • @Controller
  • public class HelloController {
  •     @RequestMapping("/hello")
  •     public String   greeting(ModelMap map) {
  •         map.addAttribute("name", "其实我是个演员");
  •         map.addAttribute("host", "http://blog.52itstyle.com");
  •         return "hello";
  •     }
  • }) Y/ }0 I8 ~$ b& g
5、如何统一配置404和500页面
  • @Controller  
  • public class ErrorInterceptor implements HandlerInterceptor {  

  •     /**  
  •      * preHandle方法是进行处理器拦截用的,顾名思义,该方法将在Controller处理之前进行调用,SpringMVC中的Interceptor拦截器是链式的,可以同时存在  
  •      * 多个Interceptor,然后SpringMVC会根据声明的前后顺序一个接一个的执行,而且所有的Interceptor中的preHandle方法都会在  
  •      * Controller方法调用之前调用。SpringMVC的这种Interceptor链式结构也是可以进行中断的,这种中断方式是令preHandle的返  
  •      * 回值为false,当preHandle的返回值为false的时候整个请求就结束了。  
  •      */   
  •     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)  
  •             throws Exception {  
  •         return true;// 只有返回true才会继续向下执行,返回false取消当前请求  
  •     }  

  •     /**  
  •      * 这个方法只会在当前这个Interceptor的preHandle方法返回值为true的时候才会执行。postHandle是进行处理器拦截用的,它的执行时间是在处理器进行处理之  
  •      * 后,也就是在Controller的方法调用之后执行,但是它会在DispatcherServlet进行视图的渲染之前执行,也就是说在这个方法中你可以对ModelAndView进行操  
  •      * 作。这个方法的链式结构跟正常访问的方向是相反的,也就是说先声明的Interceptor拦截器该方法反而会后调用,这跟struts2里面的拦截器的执行过程有点像,  
  •      * 只是Struts2里面的intercept方法中要手动的调用ActionInvocation的invoke方法,Struts2中调用ActionInvocation的invoke方法就是调用下一个Interceptor  
  •      * 或者是调用action,然后要在Interceptor之前调用的内容都写在调用invoke之前,要在Interceptor之后调用的内容都写在调用invoke方法之后。  
  •      */   
  •     public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,  
  •                            ModelAndView modelAndView) throws Exception {  
  •         if(response.getStatus()==500){  
  •             modelAndView.setViewName("/errorpage/500");  
  •         }else if(response.getStatus()==404){  
  •             modelAndView.setViewName("/errorpage/404");  
  •         }  
  •     }  

  •     /**  
  •      * 该方法也是需要当前对应的Interceptor的preHandle方法的返回值为true时才会执行。该方法将在整个请求完成之后,也就是DispatcherServlet渲染了视图执行,  
  •      * 这个方法的主要作用是用于清理资源的,当然这个方法也只能在当前这个Interceptor的preHandle方法的返回值为true时才会执行。  
  •      */   
  •     public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)  
  •             throws Exception {  
  •     }  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringBoot实战(第4版)清晰文字版,第 1 章 入门 ................................................ 1 1.1 Spring 风云再起 ........................................ 1 1.1.1 重新认识 Spring ............................ 2 1.1.2 Spring Boot 精要 ........................... 3 1.1.3 Spring Boot 不是什么 ................... 6 1.2 Spring Boot 入门 ....................................... 6 1.2.1 安装 Spring Boot CLI .................... 7 1.2.2 使用 Spring Initializr 初始化 Spring Boot 项目 .......................... 10 1.3 小结 ......................................................... 18 第 2 章 开发第一个应用程序 .................... 19 2.1 运用 Spring Boot ..................................... 19 2.1.1 查看初始化的 Spring Boot 新项目 .......................................... 21 2.1.2 Spring Boot 项目构建过程 解析 .............................................. 24 2.2 使用起步依赖 .......................................... 27 2.2.1 指定基于功能的依赖 ................... 28 2.2.2 覆盖起步依赖引入的传递依赖 .... 29 2.3 使用自动配置 .......................................... 30 2.3.1 专注于应用程序功能 ................... 31 2.3.2 运行应用程序 .............................. 36 2.3.3 刚刚发生了什么 ........................... 38 2.4 小结 ......................................................... 41 第 3 章 自定义配置 .................................... 42 3.1 覆盖 Spring Boot 自动配置 ..................... 42 3.1.1 保护应用程序 .............................. 43 3.1.2 创建自定义的安全配置 ............... 44 3.1.3 掀开自动配置的神秘面纱 ........... 48 3.2 通过属性文件外置配置 ........................... 49 3.2.1 自动配置微调 .............................. 50 3.2.2 应用程序 Bean 的配置外置 ......... 55 3.2.3 使用 Profile 进行配置 .................. 59 3.3 定制应用程序错误页面 ........................... 62 3.4 小结 ......................................................... 64 第 4 章 测试 ............................................... 66 4.1 集成测试自动配置 .................................. 66 4.2 测试 Web 应用程序 ................................. 68 4.2.1 模拟 Spring MVC ........................ 69 4.2.2 测试 Web 安全 ............................. 72 4.3 测试运行中的应用程序 ........................... 74 4.3.1 用随机端口启动服务器 ............... 75 4.3.2 使用 Selenium 测试 HTML 页面 ............................................. 76 4.4 小结 ......................................................... 78 第 5 章 Groovy 与 Spring Boot CLI ......... 80 5.1 开发 Spring Boot CLI 应用程序 .............. 80 5.1.1 设置 CLI 项目 .............................. 81 5.1.2 通过 Groovy 消除代码噪声 ......... 81 5.1.3 发生了什么 .................................. 85 5.2 获取依赖 .................................................. 86 5.2.1 覆盖默认依赖版本 ....................... 87 5.2.2 添加依赖仓库 .............................. 88 5.3 用 CLI 运行测试 ...................................... 89 5.4 创建可部署的产物 .................................. 91 5.5 小结 ......................................................... 91 第 6 章 在 Spring Boot 中使用 Grails ...... 93 6.1 使用 GORM 进行数据持久化 ................. 93 2 目 录 6.2 使用 Groovy Server Pages 定义视图 ....... 98 6.3 结合 Spring Boot 与 Grails 3 ................. 100 6.3.1 创建新的 Grails 项目 ................. 100 6.3.2 定义领域模型 ............................ 103 6.3.3 开发 Grails 控制器 ..................... 104 6.3.4 创建视图 .................................... 105 6.4 小结 ....................................................... 107 第 7 章 深入 Actuator .............................. 108 7.1 揭秘 Actuator 的端点 ............................ 108 7.1.1 查看配置明细 ............................ 109 7.1.2 运行时度量 ................................ 115 7.1.3 关闭应用程序 ............................ 121 7.1.4 获取应用信息 ............................ 121 7.2 连接 Actuator 的远程 shell .................... 122 7.2.1 查看 autoconfig 报告 ........... 123 7.2.2 列出应用程序的 Bean ............... 124 7.2.3 查看应用程序的度量信息 ......... 124 7.2.4 调用 Actuator 端点 .................... 125 7.3 通过 JMX 监控应用程序 ....................... 126 7.4 定制 Actuator......................................... 128 7.4.1 修改端点 ID ............................... 128 7.4.2 启用和禁用端点 ........................ 129 7.4.3 添加自定义度量信息 ................. 129 7.4.4 创建自定义跟踪仓库 ................. 132 7.4.5 插入自定义健康指示器 ............. 134 7.5 保护 Actuator 端点 ................................ 136 7.6 小结 ....................................................... 138 第 8 章 部署 Spring Boot 应用程序 ........ 139 8.1 衡量多种部署方式 ................................ 139 8.2 部署到应用服务器 ................................ 140 8.2.1 构建 WAR 文件 ......................... 141 8.2.2 创建生产 Profile ........................ 142 8.2.3 开启数据库迁移 ........................ 145 8.3 推上云端 ............................................... 150 8.3.1 部署到 Cloud Foundry ............... 150 8.3.2 部署到 Heroku ........................... 153 8.4 小结 ....................................................... 155 附录 A Spring Boot 开发者工具.............. 157 附录 B Spring Boot 起步依赖 ................. 163 附录 C 配置属性 ...................................... 169 附录 D Spring Boot 依赖 ......................... 202
当前课程中博客项目的实战源码是我在 GitHub上开源项目 My-Blog,目前已有 3000 多个 star:本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 大部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 个人博客项目功能的讲解,通过本课程的学习,不仅仅让你掌握基本的 Spring Boot 开发能力以及 Spring Boot 项目的大部分开发使用场景,同时帮你提前甄别和处理掉将要遇到的技术难点,认真学完这个课程后,你将会对 Spring Boot 有更加深入而全面的了解,同时你也会得到一个大家都在使用的博客系统源码,你可以根据自己的需求和想法进行改造,也可以直接使用它来作为自己的个人网站,这个课程一定会给你带来巨大的收获。作者寄语本课程录制于 2020 年,代码基于 Spring Boot 2.x 版本。到目前为止,Spring Boot 技术栈也有一些版本升级,比如 Spring Boot 2.7 发版、Spring Boot 3.x 版本发布正式版本。对于这些情况,笔者会在本课程实战项目的开源仓库中创建不同的代码分支,保持实战项目的源码更新,保证读者朋友们不会学习过气的知识点。课程特色 课程内容紧贴 Spring Boot 技术栈,涵盖大部分 Spring Boot 使用场景。开发程详细完整、文档资源齐全、实验过程循序渐进简单明了。实践项目页面美观且实用,交互效果完美。包含从零搭建项目、以及完整的后台管理系统和博客展示系统两个系统的功能开发流程。技术栈新颖且知识点丰富,学习后可以提升大家对于知识的理解和掌握,对于提升你的市场竞争力有一定的帮助。实战项目预览    
当前课程中商城项目的实战源码是我发布在 GitHub 上的开源项目 newbee-mall (新蜂商城),目前已有 9900 多个 Star,本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 大部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 商城项目功能的讲解,让大家实际操作并实践上手一个大型的线上商城项目,并学习到一定的开发经验以及其中的开发技巧。商城项目所涉及的功能结构图整理如下: 作者寄语本课程录制于2019年,距今已有一段时间。期间,Spring Boot技术栈也有一些版本升级,比如Spring Boot 2.7.x发版、Spring Boot 3.x版本正式版本。对于这些情况,笔者会在本课程实战项目的开源仓库中创建不同的代码分支,保持实战项目的源码更新,保证读者朋友们不会学习过气的知识点。新蜂商城的优化和迭代工作不会停止,不仅仅是功能的优化,在技术栈上也会不断的增加,截止2023年,新蜂商城已经发布了 7 个重要的版本,版本记录及开发计划如下图所示。 课程特色 对新手开发者十分友好,无需复杂的操作步骤,仅需 2 秒就可以启动这个完整的商城项目最终的实战项目是一个企业级别的 Spring Boot 大型项目,对于各个阶段的 Java 开发者都是极佳的选择实践项目页面美观且实用,交互效果完美程详细开发程详细完整、文档资源齐全代码+讲解+演示网站全方位保证,向 Hello World 程说拜拜技术栈新颖且知识点丰富,学习后可以提升大家对于知识的理解和掌握,可以进一步提升你的市场竞争力 课程预览 以下为商城项目的页面和功能展示,分别为:商城首页 1商城首页 2购物车订单结算订单列表支付页面后台管理系统登录页商品管理商品编辑
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值