热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

springboot对象空指针_SpringBoot技术入门

DAY-01一、SpringBoot简介1.1、现在软件市场已经形成一定的规模,系统架构的复杂度也越来越高(例如有单体架构,分布式架构&#

DAY-01

一、Spring Boot简介

1.1 、现在软件市场已经形成一定的规模,系统架构的复杂度也越来越高(例如有单体架构,分布式架构,微服务架构)。软件的整个架构体系正在发生很大变化,在这种变化中,企业现在更注重技术的开箱即用,更注重技术在生态圈中的深度融合,更注重轻量级的运维。由此spring boot诞生。

说明:学技术一定要了解技术发展史,并对技术的发展有一定的前瞻性。
1.2、准备工作

1. 下载JDK1.8,并进行环境变量配置(假如已有则无需再次下载和配置)。
2. 下载最新maven(例如apache-maven-3.6.3,网址[http://maven.apache.org/)并解压。
3. 下载sts最新版(例如sts-4.4.5.RELEASE,网址[https://spring.io/tools)并解压(新版本下载下来时一个.jar文件,需要在jar文件所在的目录中,以命令行方式执行java -jar 下载的文件名的方式进行解压。

1.3、SpringBoot环境构建? (JDK,Maven,IDE)

1.4. SpringBoot项目的创建? (基于STS创建、基于Web创建、基于普通的Maven方式)

二、Spring Boot环境配置

配置maven的settings.xml文件

  1. 配置本地仓库(配置maven本地库(从maven远程服务器下载的资源存储到的位置)

${user.home}/.m3/repository)

  1. 配置maven私服(配置到mirrors标签内部)。添加标签
  2. 配置maven中的profile(配置到profiles标签内部),设置JDK编译和运行版本。

三、Spring Boot快速入门(错误解决)

(一)当一个maven项目的pom文件上有红色感叹号:

  1. update project
  2. select maven profiles
  3. 前面两步做的时候,记得勾选上Force Updat

(二)SocketTimeOutExcetion(服务连接超时):

  1. 把http://spring.io换成http://aliyun.com。
  2. 可能是没有找到计算机的DNS(域名解析问题)。
  3. 带宽有限,但是同时访问人数太多--->网络阻塞问题:(找到计算机DNS,但是宽带固定,但是访问人数太多,有先来后到,后来的人没能挤进去)
  4. 服务器线程问题(例如Tomcat端线程数配置的相对较少)

(三)项目下的pom文件Unknow

Maven Configuration Problem错误解决方式:

  • 在pom.xml文件中的标签内加上3.0.0

(四)SpringBoot业务应用的快速实现(springboot工程如何整合自定义资源和应用资源)

c22521abaad16a85bc32541188ba0931.png
f8384d7d23b98d73c0d5275ff3d8a78e.png
9dfb647220dfe9b46891d2e5deac7d86.png
7522e61b34cab33ef62cdd220778bf0e.png

(五) BUG分析

1 、Maven项目的setting文件配置错误:

问题分析:检查maven目录中的settings.xml的标签语法配置是否正确.

1a7401e268177cd097260efad813c902.png

2 、创建项目时网络连接超时,可以把http://spring.io换成http://aliyun.com

8193d908c0402eeb1279d3c20142f465.png

3 、Maven项目的pom.xml文件报错

f564f958a8aaa8322964b441982709e1.png
问题分析:1、检查网络配置(是否网络畅通,不能手机网络)。 2、检测maven配置是否正确(严格按文档配置执行)。3、右键项目maven update 强制更新

4 、更换maven私服仓库(选文档中的)空指针异常(NullPointerException-NPE)

59815e30733ac83d79a5e269580c39b1.png
问题分析:分析错误描述,找到自己写的类指定行号位置,看看哪个对象在进行方法调用,调用方法的对象有没有被赋值。

5、 依赖注入失败

79b7af5a4293ae50b7e266865eda9541.png
问题分析:1、基于错误分析,哪个属性的值在进行依赖注入时失败了(例如DefaultCache)。2、基于错误分析,哪个属性的值在进行依赖注入时失败了(例如DefaultCache)。3、检查注入失败的属性对应的对象是否交给了Spring管理(例如是否有特定注解描述,包结构是否正确)。

6、 找不到对应的Bean对象

6fe2c4e06a9a173b364f6b7149e0339b.png
问题分析: 1、检查你获取的这个对象实例的类型是否使用了特定注解描述(如@Component)。2、检查你获取的这个对象实例的类型所在的包是否正确(启动类包结构。 )。3、假如是基于Bean的名字进行Bean对象的获取,要检测Bean的名字是否正确。

7 、依赖注入失败

7e308bfa4d9ac213d6cfdd0e60954d0f.png
问题分析: 1.检查哪里对Cache进行了引用。2.检查对Cache引用时使用的注解描述。3.检查容器中Cache接口下实现类对象的定义(是否有多个?)



推荐阅读
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
author-avatar
怪兽锅锅PENGL
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有