Spring Boot学习/资料整理

=Start=

缘由:

整理一下在学习Spring Boot时收集到的不错的资料,方便以后参考。

正文:

参考解答:

Spring Boot快速入门
http://blog.didispace.com/spring-boot-learning-1/

使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程
http://blog.didispace.com/spring-initializr-in-intellij/

更多参考链接:

=END=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/3819.html

《Spring Boot学习/资料整理》上有18条评论

  1. Spring Boot 入门
    http://blog.csdn.net/catoop/article/details/50501664
    http://blog.csdn.net/column/details/spring-boot.html

    Spring 官方网站本身使用Spring 框架开发,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系。
    随着Spring 3.0的发布,Spring IO团队逐渐开始摆脱XML配置文件,并且在开发过程中大量使用“约定优先配置”(convention over configuration)的思想来摆脱Spring框架中各种复杂的配置,衍生了Java Config。

    Spring Boot正是在这样的一个背景下被抽象出来的开发框架,它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。

    该项目旨在帮助开发者更容易地创建基于Spring的应用程序和服务,使得现有的和新的Spring开发者能够最快速地获得所需要的Spring功能。

    Spring Boot不生成代码,且完全不需要XML配置。其主要目标如下:
    - 为所有的Spring开发工作提供一个更快、更广泛的入门经验。
    - 开箱即用,你也可以通过修改默认值来快速满足你的项目的需求。
    - 提供了一系列大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。

  2. 通过Spring封装的方法操作mongodb,介绍了mongodb的基本语法查询、高级查询等介绍
    https://blog.csdn.net/column/details/15996.html

    Accessing Data with MongoDB
    https://spring.io/guides/gs/accessing-data-mongodb/

    springboot(十一):Spring boot中mongodb的使用
    http://www.ityouknow.com/springboot/2017/05/08/springboot-mongodb.html
    https://github.com/ityouknow/spring-boot-examples/tree/master/spring-boot-mongodb

    Spring Boot中使用MongoDB数据库
    http://blog.didispace.com/springbootmongodb/

  3. 初识Spring —— Bean的装配(一)
    http://hxblog.site/2018/06/09/Bean%E7%9A%84%E8%A3%85%E9%85%8D-%E4%B8%80/
    http://www.liuhaihua.cn/archives/523191.html

    JavaBeans 是 Java 中一种特殊的类,可以将多个对象封装到一个对象(bean)中,特点是可序列化,提供无参构造器,提供 getter 方法和 setter 方法访问对象的属性。名称中的 “Bean” 是用于Java的可重用软件组件的惯用叫法

    在传统的Java应用中,bean的生命周期很简单。使用Java关键字new进行bean实例化,然后该bean就可以使用了。一旦该bean不再被使用,则由Java自动进行垃圾回收

    在传统的例子中,如果我们要创建一个 Bean,我们就要使用关键字 New,但是,在 Spring 中,Bean 的创建是由 Spring 容器进行的,也就是说,在 Spring 中使用 Bean 的时候,不是由关键字 New 来创建实例了。

    自动装配
    使用 XML 装配
    使用 Java 装配

  4. SpringBoot切换Tomcat容器,SpringBoot使用Jetty容器
    https://www.cnblogs.com/fanshuyao/p/8668059.html
    https://blog.csdn.net/github_35169934/article/details/78573971

    一、SpringBoot默认的容器为Tomcat,依赖包在spring-boot-starter-web下
    二、SpringBoot把容器修改为Jetty
    方法很简单,就是在pom.xml文件中,在引用的spring-boot-starter-web排除Tomcat的依赖包,然后再引入Jetty容器的依赖包。

    org.springframework.boot
    spring-boot-starter-web

    org.springframework.boot
    spring-boot-starter-tomcat

    org.springframework.boot
    spring-boot-starter-jetty

  5. 这是一篇优雅的Springboot2.0使用手册
    https://blog.tengshe789.tech/2018/08/04/springboot/

    1. 啥是Springboot
    2. 快速使用
    3. 配置文件
    4. Web开发
    5. 异步编程
    6. 数据访问
    7. 事物管理
    8. 定时任务
    9. 日志管理
    10. 拦截器
    11. 缓存
    12. 监控中心
    13. 性能优化
    14. 热部署
    14.1. 原理
    14.2. 应用场景
    14.3. Dev-tools
    14.3.1. POM
    14.3.2. 原理
    15. 发布打包
    15.1. Jar类型打包方式
    15.2. war类型打包方式
    15.3. 外部Tomcat运行
    15.4. POM
    16. 参考文献

  6. Spring Boot的并发编程
    https://www.jdon.com/49728

    在考虑Spring Boot应用程序中的并发性时,值得考虑的关键因素有:
    最大线程数 - 这是为处理对应用程序的请求而分配的最大线程数
    共享外部资源 - 调用外部共享资源(如数据库)
    异步方法调用 - 这些是在等待响应时将线程释放回线程池的方法调用
    共享内部资源 - 调用内部共享资源 - 例如高速缓存和可能共享的应用程序状态

  7. Java 的 Spring Boot 中如何获取 x-real-ip/x-forwarded-for/remote_addr 等 IP地址信息
    https://www.cnblogs.com/EasonJim/p/8323017.html
    https://www.mkyong.com/java/how-to-get-client-ip-address-in-java/
    https://www.cnblogs.com/softidea/p/5705297.html
    https://stackoverflow.com/questions/22877350/how-to-extract-ip-address-in-spring-mvc-controller-get-call
    https://www.mkyong.com/spring-mvc/spring-mvc-how-to-get-client-ip-address/
    https://howtodoinjava.com/tomcat/tomcat-get-real-ip-behind-load-balancer/

    区分大小写

    @RequestHeader Map requestHeader

    String xForwardedFor = requestHeader.containsKey("X-Forwarded-For") ? requestHeader.get("X-Forwarded-For") : "";
    String xRealIp = requestHeader.containsKey("X-Real-IP") ? requestHeader.get("X-Real-IP") : "";

发表评论

电子邮件地址不会被公开。 必填项已用*标注