版本:
spring boot 1.5
intelliji idea 2018
jdk:10
spring boot 作为轻量框架,省去了传统spring框架中手动配置xml文件,可以通过pom.xml文件中<dependency></dependency>导入依赖包,网上的教程自然很多,推荐链接:http://blog.didispace.com/Spring-Boot基础教程
新手请注意:无论哪个大师讲解的代码也好,在你手动demo的时候都会因为各种各样的原因抛出异常,因此在首次尝试使用spring boot 框架的时候,请严格注意自己的spring 版本的问题,在spring版本1.5到2.0有些常用的注解存在了引用上的差异,甚至有些在2.0系列直接删除了,因此,建议大家spring 版本从低版本练起,如果精通spring框架的官方文件,直接使用最新版本也是可以的。接下来,我会接连记录自己从萌新入门spring root 的路程,今天整理一下,最近遇到的问题及解决方法。
入门遇到情况一:
遇到此种情况是因为没有在pom.xml中导入依赖包需要加入 <dependency>相关依赖</dependency>,
对于<dependency></dependency>中已经添加依赖依然变红的情况,主要是<dependency></dependency>没有及时下载或导入,可以通过以下方式解决
入门遇到情况二:抛出 An illegal reflective access operation has occured
对于首次在8080端口输出hello world的情况,在编译的时候,会出现如下提示:
此种情况是一种警告, 并不会影响程序的正常运行,在google中会有一种隐藏此种异常抛出的方法,由于他不会影响程序的运行,所以我并没有对此有任何操作,如果你遇到hello world无法正常输出的情况,最可能出现的情况是注解的问题。
入门遇到情况三:ApplicationContext cannot load
在我实现上述推荐网站的代码时,抛出了如下异常,意识是说实现中的配置文件无法下载,主要的解决方法
保持spring 版本一致性的问题
其次,如果版本一致,由于我的配置文件中引入了
在修改spring 的版本时,并没有完全解决问题,经过反复查询,是因为Javax一个文件的没有解决
所以我加入此特性
<dependency> <groupId> javax.xml.bind </groupId> <artifactId> jaxb-api </artifactId> <version> 2.3.0 </version> </dependency>
完成了Spring-data-jpa的首次对数据库的操作;
入门情况四:运用Spring-data-jpa时候,抛出xxtable don't exit,请注意以下四种情况的区别
create
:每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行,会数据库表数据丢失。create-drop
:每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除,会引起表不存在。update
:最常用的属性,第一次加载hibernate时根据model类会自动建立起表的结构(前提是先建立好数据库),以后加载hibernate时根据model类自动更新表结构。validate
:每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。