创建项目
首先新建一个项目
放上我的命名方式以供参考:
开发工具勾选,一般我只选这一个Lombok,是能提高开发效率的。
新建的项目目录长这个样子:
除了我画的这两处重点,其他的全部可以忽略。
先看pom.xml,说到pom.xml就不得不提maven啦。
以往我们想使用别人写好的代码,想使用别人的工具类,都需要手动地去添加jar包,自己找,自己导入。
而有了maven,我们就可以在项目中的pom.xml写下某个jar包的名字(又叫依赖),项目就可以自己联网去找对应的jar包。
省去了开发者一个一个去找jar下载的功夫,因此如果要使用,一定要联网。
包括SpringBoot,说到底也不过是别人写好的代码,也是一堆jar包的集合。
新建完spring boot,去看pom.xml,可以发现里面并不是空的,这些就是spring boot这个项目的依赖,之后每次需要使用别人的工具的时候,在这里添加相应的依赖就好啦。
目前只需要关注
</dependencies></dependencies>
这个标签就好啦,其他的可以忽略忽略,之后用到的时候会慢慢熟悉的。
如果你发现你的pom.xml比我的少了什么的话,最好粘过去,这是最基础的依赖,如果少了可能有的地方运行不起来,当然lombok如果你不想用,可以不管:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.5.4</version>
<scope>compile</scope>
</dependency>
</dependencies>
接下来看看启动类,spring boot内置好了tomcat,所以不要想那么多,也不用配置那么多,业务代码写好了,直接运行这个启动类就好啦:
编写业务代码
先跟着我做,之后再解释为什么。
先新建一个包,叫controller:
在controller包里新建一个类,可以直接粘:
package com.TandK.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author TandK
* @since 2021/8/23 21:13
*/
@RestController
@RequestMapping("index")
public class IndexController {
@GetMapping("/hello")
public String sayHello(){
return "hello, spring boot!";
}
}
访问这个地址:http://localhost:8080/index/hello
可以看到我们返回的字符串在浏览器上显示:
说明
这里先停下来解释一下上面的动作。
SSM项目或者说spring boot项目,喜欢把项目分成mvc层,各层分工明确,这样有助于我们工作的各个方面。
所谓的mvc层,就是model、view、controller。
先说controller,controller翻译过来就是控制器,其实很简单,你就理解成,你在浏览器输入一个url,controller层的工作就是解析你的url,然后运行对应的方法。
比如上面的方法,localhost:8080是你项目的域名,我们在类上写@RequestMapping(“index”),你在url后面输入index,就定位到这个类了,再输入/hello,就定位到sayHello()这个方法了。
然后程序就会执行这里面的方法,返回的是"hello, spring boot!"的字符串,所以你在浏览器看到的就是这个字符串。
@GetMapping注解其实就是要求你用get方式请求而已,对应的我们也可以换成@PostMapping,那样就可以用post请求这个url了。
如果不知道get和post,可以百度一下get和post的区别,去看一下。
接下来说说@RestController注解,其实就是申明这是一个Controller类而已,这样spring boot项目才知道解析的url要去这里面找对应的执行方法。
如果用@Controller注解照样可以达到这个目的,不过这样的话,你返回一个字符串的话,它就会照这个字符串去找到对应的html文件渲染成一个网页了。
鉴于现在都是前后端的项目了,所以建议还是用@RestController注解吧。
到这里就有了对controller层的一个简单的认知了。
一般我们都是按对象划分controller,比如说你的项目里有用户和游戏两个对象是吧,那我们就会分两个controller,一个叫UserController,另一个叫GameController,如下图:
访问的话,就是localhost:8080/user和localhost:8080/game了。
当然只访问到类是会报错的,你还需要在里面协商对应的方法。
可能出错的地方
这里要注意一个可能出错的地方,Application类,即启动类要放在controller类的上级,否则项目会正常启动,但页面却访问不到。
上面这样是没问题的,下面这样是有问题的:
项目会正常启动,但页面却访问不到,就像这样:
连接数据库
可以访问以后,就要开始连数据库。
连上了数据库之后,其实后端的工作就是一系列的sql增删改查。
连接数据库的等第二篇再说,有什么问题欢迎留言,看到了都会尽量帮忙解决的。