Code Monkey home page Code Monkey logo

spring-boot-best-practice's Introduction

spring-boot-best-practice

🚀 本仓库提供了 Spring Boot 主流知识点实战示例,大家可以随意下载学习。

⭐ 本项目会长期更新,为避免迷路,请点击右上角 Star 关注本项目。

🔥 为什么要学 Spring Boot?

Spring 作为 Java 开发界的万能框架,曾经和 Struts2、Hibernate 框架组成 SSH,成为 Java Web 开发的三驾马车。大概在 2013 年左右,又和 Spring MVC、MyBatis 框架组成 SSM,成为新一代的 Web 开发框架全家桶,一直流行延续至今。

而为了简化 Spring 框架的上手难度,Spring Boot 框架于 2014 年诞生,可以帮助开发者更加轻松、快捷地使用 Spring 的组件,它是 Spring、Spring MVC 等框架更上一层的框架,它需要依赖于 Spring、Spring MVC 等原生框架,而不能独立存在。

学会 Spring Boot,可以简化使用 Spring 基础组件的难度,还是学习 Spring Cloud 微服务框架的基础,因为 Spring Cloud 的基础就是 Spring Boot。

Spring Boot 代表了企业的真实需求,它表现在 Java 工程师、架构师的求职面试技能清单上,Spring Boot 几乎是必备技能。 所以,要成为合格的 Java 程序员,要学习 Spring 全家桶,Spring Boot 则是必经之路。

❤️ Spring Boot 学习资料

这里分享一份 Spring Boot 学习资料,包括 Spring Boot 底层实现原理及代码实战,非常齐全,助你快速打通 Spring Boot 的各个环节。

详细目录如下:

  • Spring Boot Hello World
  • Spring Boot 返回 JSON 数据
  • Spring Boot 使用其他 JSON 转换框架
  • Spring Boot 全局异常捕捉
  • Spring Boot JPA 连接数据库
  • Spring Boot 配置 JPA
  • Spring Boot 整合 JPA 保存数据
  • Spring Boot 使用 JdbcTemplate 保存数据
  • Spring Boot 常用配置
  • Spring Boot 静态资源处理
  • Spring boot 实现任务调度
  • Spring Boot 普通类调用 Bean
  • Spring Boot 使用模板引擎
  • Spring Boot 集成 JSP
  • Spring Boot 集成 Servlet
  • Spring Boot 集成 Fliter 和 Listener
  • Spring Boot 拦截器 HandlerInterceptor
  • Spring Boot 系统启动任务 CommandLineRunner
  • Spring Boot 集成 JUnit 单元测试
  • Spring Boot 读取系统环境变量
  • Spring Boot 使用自定义 properties
  • Spring Boot 改变默认包扫描
  • Spring Boot 自定义启动 Banner
  • Spring Boot 导入 Spring XML 配置文件
  • Spring Boot 热部署
  • Spring Boot 监控和管理生产环境
  • Spring Boot Starter 详解
  • Spring Boot 依赖的版本
  • Spring Boot 文件上传
  • Spring Boot 集成 Redis 缓存
  • Spring Boot 之 Spring Cache
  • Spring Boot 集成 Ehcache
  • Spring Boot 分布式 Session 共享
  • ......

共 108 页!非常齐全!

获取方式如下:

这份教程免费分享给大家,微信扫码关注 Java技术栈 公众号:

关注后,在公众号后台发送关键字:666,公众号会自助推送给你。

spring-boot-best-practice's People

Contributors

javastacks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spring-boot-best-practice's Issues

dockerfile文件目录放置错误

Dockerfile文件的放置位置应该是pom.xml文件一致才能行!
否则在

ADD target/${JAR_FILE} /app.jar 时找不到文件。导致异常:

Removing intermediate container 0fdba48a763d ---> 410ea245d61e Step 5/6 : ADD target/${JAR_FILE} /app.jar Error response from daemon: ADD failed: stat /var/lib/docker/tmp/docker-builder942850599/target: no such file or directory Failed to deploy '<unknown> Dockerfile: src/main/docker/Dockerfile': Can't retrieve image ID from build stream

同学,您这个项目引入了61个开源组件,存在3个漏洞,辛苦升级一下

检测到 javastacks/spring-boot-best-practice 一共引入了61个开源组件,存在3个漏洞

漏洞标题:Oracle MySQL 输入验证错误漏洞
缺陷组件:mysql:[email protected]
漏洞编号:CVE-2021-2471
漏洞描述:Oracle MySQL是美国甲骨文(Oracle)公司的一套开源的关系数据库管理系统。
Oracle MySQL 的 MySQL Connectors 产品中存在输入验证错误漏洞,该漏洞允许高特权攻击者通过多种协议访问网络来破坏 MySQL 连接器。成功攻击此漏洞会导致对关键数据的未授权访问或对所有 MySQL 连接器可访问数据的完全访问,以及导致 MySQL 连接器挂起或频繁重复崩溃。
影响范围:(∞, 8.0.27)
最小修复版本:8.0.27
缺陷组件引入路径:cn.javastack:[email protected]>mysql:[email protected]

另外还有3个漏洞,详细报告:https://mofeisec.com/jr?p=i8392b

compilation error

hello! I checkout master branch, compile with mvn install but I get compilation error

...
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ spring-boot-test ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to xxx/projects/spring-boot-best-practice/spring-boot-test/target/test-classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] xxx/projects/spring-boot-best-practice/spring-boot-test/src/test/java/cn/javastack/springboot/test/JavaTest.java:[3,17] package org.junit does not exist
[ERROR] xxx/projects/spring-boot-best-practice/spring-boot-test/src/test/java/cn/javastack/springboot/test/JavaTest.java:[4,17] package org.junit does not exist
[ERROR] xxx/projects/spring-boot-best-practice/spring-boot-test/src/test/java/cn/javastack/springboot/test/JavaTest.java:[5,24] package org.junit.runner does not exist
[ERROR] xxx/projects/spring-boot-best-practice/spring-boot-test/src/test/java/cn/javastack/springboot/test/JavaTest.java:[16,2] cannot find symbol
  symbol: class RunWith
[ERROR] xxx/projects/spring-boot-best-practice/spring-boot-test/src/test/java/cn/javastack/springboot/test/JavaTest.java:[24,6] cannot find symbol
  symbol:   class Test
  location: class cn.javastack.springboot.test.JavaTest
[ERROR] xxx/projects/spring-boot-best-practice/spring-boot-test/src/test/java/cn/javastack/springboot/test/JavaTest.java:[32,6] cannot find symbol
  symbol:   class Test
  location: class cn.javastack.springboot.test.JavaTest
[INFO] 6 errors 
...

Spring Boot 2.4 及更高版本时,ApplicationEnvironmentPreparedEvent事件中修改Profile是不会生效的

这是Spring Boot项目中的issues:spring-projects/spring-boot#27946
这是导致该事件失效的提交:spring-projects/spring-boot@3352024

我在学习事件监听器一章时,试图在启动时根据Environment中的环境变量切换不同的Profile,但一直不生效,后来在Spring Boot官方的Issues中查找后才发现,该启动事件无法修改Profile。发在这里希望和这本书的读者一起分享一下,感觉Spring Boot框架里还是有很多坑的,光看书还是不够

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.