对于SpringBoot框架介绍大家可以看看这个这篇文章,SpringBoot优缺点以及如何安装使用
以下我是按照老师给的安装方法进行安装使用SpringBoot框架:
大家安装SpringBoot框架时候,最好安装3.0以下的,不然需要对应较高版本的JDK版本(Java Development ToolKit )以及较高版本的tomcat版本,会出现一些列问题,所以最好使用3.0以下的版本不要用最新的SpringBoot版本。
以下老师推荐使用2.x的SpringBoot,安装Tomcat9.0的版本。
由于要使用SpringBoot,我们准备新建一个聚合项目,以下图片仅仅只为记录我之前的项目的春出位置。
首先创建一个maven的聚合项目,命名framework,然后GroupId填写一下一般是com.+公司英文简称
由于这个项目我们不希望在里面写代码,主要的作用是聚合,我们主要是想在里面建子项目,为了不在IDEA中打开很多个项目而建的,所以我们就直接把src给直接去掉。
然后右键单击建子项目。
还是和之前一样的创建界面:
点击next之后我们能够发现和之前的还是有一定的区别,因为此次,我们是在framework下建的子项目,所有正在建的项目和framework实际上是父子关系,会有一个parent选项:
我们给子项目取一个名字:01-springboot-helloword,GroupId是直接继承framework项目的GroupId,即com.neuedu,如下图所示:
然后按照以下步凑进行:
1.首先引入引入springboot的parent
springboot项目文件的pom.xml是可以直接用外层的framework项目的pom.xml中的配置文件和依赖
也就是说我们不用一个一个添加dependency依赖,我们只需要最外层的项目的pom.xml添加dependency等需要的配置文件,内层的pom.xml就可以不用一一添加了,都可以直接使用parent项目中的pom.xml中的所有内容。只需要在parent项目中添加完依赖,子项目就都可以使用了。类似于java中的继承的关系。
我们先在最外层的framework项目中的pom.xml文件中编写如下代码
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.14</version>
</parent>
放置的位置如下
注意,在ctrl + shift +o之前的代码是红色的是正常的,并且IDEA会显示报错:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.14</version>
</parent>
配置完成之后,就正常了,就不会报错了,如下所示:
然后我们需要在内部springboot项目中的pom.xml中添加一个
<dependencies></dependencies>,我们想要用SpringBoot,就得在<dependencies></dependencies>启动一个MVC的框架。
=========================================================================
这里有个小的提示事项:我们之所以要写成parent加子类的形式,是因为为了对应版本号,父类的<parent></parent>中需要对应版本号,而子类中的<dependencies></dependencies>就不需要写版本号了,由于继承关系会自动对应相应的版本号,保证不会出现版本问题;这是写成一个父项目加子项目的一个重要原因,避免因为版本问题,项目跑不起来。
framework中的<parent></parent>中的一个最大的作用就是,统一jar包的版本号,避免程序因为版本问题跑不起来。
=========================================================================
然后我们将以下代码加到内层springboot项目中的pom.xml的之前写的<dependencies></dependencies>中,进行springMVC框架的配置,然后ctrl +shift+o即可完成配置:
<!-- mvc的框架 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
这里我要说明一下一般来说<dependency></dependency>由三部分组成,即<groupId><artifactId><version>,但是这里之所以没有写version,前面有提到过,是为了避免版本错误,让framework中的pom.xml中的<parent></parent>自动为我们对应版本,以避免因为项目与项目之间的版本对应不上,项目而无法执行。
然后我们在spring项目的java源文件中,写一个main函数启动前面配置的springMVC中的框架。
我们在蓝色java文件中创建一个com.neuedu包,然后创建一个App的java class文件:
我们在主函数中启动一个容器,用于替换掉servlet API,不需要我们自己写servlet(Servlet是java语言编写的运行在服务器端的程序)了
这个App.class上面需要一个注解@SpringBootApplication
然后我们就需要写之前介绍的三层架构了,controller ,service ,dao(已经被mybatis代替 )
首先我们写一下controller,创建在com.neuedu下面
然后我们添加一个注解@RestController
controller(相当于原来的servlet,实际上还是servlet那些东西只是做了一些封装而已)层能够访问我们的数据库 (也可以写service层,调用dao,调用JDBC)
我们先写一个测试的代码:
比如我们想要从数据库查询一个集合,然后放到一个页面上去。我们模拟一下从数据库中查询出阿里的信息。
我们添加一个@RequestMapping的注解用于建立请求URL和处理请求方法之间的对应关系。
URL是Uniform Resource Locator(统一资源定位器) 它是专为表示网路上资源位置而设的一种编码方式。
URL一般是由三部分组成
1,应用层协议。
2,主机IP地址或域名。
3,资源所在路径/文件名。
URL的格式如下:
应用层协议://主机IP或者域名/资源所在路径/文件名
我们先写一个List类型的数,模拟是从数据库上面取出的(实际上是我们自己手动插入的数据)
然后我们启动一下:
首先进入App java class文件中启动SpringBoot的一个容器:
执行代码之后,我们可以看到他启动了一个容器叫做Tomcat
正常我们访问servlet得有一个URL,这里需要我们去构造一下。
我们可以首先在UserController的的注释里面写:
其中文本注释的快速写法是:
先写一个/**
然后回车就可以形成可以写注释的区域:
然后可以通过以下url访问刚刚发布的list文件里面的资源:
http://localhost:8080/list
如下图所示:
同理我们也可以将数据库中的数据打印在网页上面
以下演示一下利用SpringBoot框架打印出数据中的内容。
我们创建一个entity实体层用来接收从数据库中去取出的数据。
在实体层中创建一个User对象
编写几个简单的属性,
利用generate生成set get方法。
然后再利用generate生成函数的构造方法:
有参的构造函数和无参的构造函数都写一下,
先生成有参的构造方法:ctrl按住不放一个一个选中然后点击ok就可以了
即生成了有参的构造方法;
然后再点击generate中的constructor生成无参的构造方法:
只需要点击selec none即可生成无参的构造方法:
然后我们就可以将之前的list以user实体对象的形式,插入实体对象了。
以下仍然是模拟从数据库中查出来的数据:
然后我们重新启动一下容器:
然后,我们再看看http://localhost:8080/list是否发布成功了:
我们可以看到是发布成功了。后续步凑不会这么单调,我们会做一个好看一点的html表格界面,那时候就漂亮了。那就是我们明天的活儿了。