一、从零开始搭建项目
1.打开 IDEA 编辑器,选择 File -> New -> Project;
2.选择 Spring Initializr ,点击 Next;
3.填写 Group( maven项目中的唯一坐标,可以由组织,比如 com ,和公司名称组成 )及 Artifact(项目名称),点击 Next;
4.选择 Web,选择 Spring Web Starter,点击 Next;
5.选择项目名称和项目存放路径,点击 Finish 完成
6.以上步骤操作完之后,项目搭建就完成了,有时候 IDEA 会根据 pom.xml 中的配置下载依赖,如果没有自动下载,可手动下载,如下图所示;
7.下载完成之后,可将 .mvn 文件,mvnw 文件,mvnw.cmd 文件删除。
二、从零开始实现第一个接口
实现一个获取单条用户信息的接口 getUserItem,访问地址为 http://localhost:8888/getUserItem。
- 在 com.example.demo 文件包下新建 entity 文件包;在此文件包下新建 User 类,在 User 类中分别定义 name 和 password 属性,内容如下;
package com.example.demo.entity;
public class User {
String name;
int password;
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public int getPassword(){
return password;
}
public void setPassword(String password){
this.password = password;
}
public String toString(){
return "user{name='"+name+"\',"+"password="+password+"}";
}
}
- 在 com.example.demo 文件包下新建 service 文件包;在此文件包下新建 UserService 接口,在 UserService 接口中定义 getUserInfo 方法,内容如下:
package com.example.demo.service;
import com.example.demo.entity.User;
public interface UserService {
public User getUserInfo();
}
随后在 service 文件包中新建 impl 文件包,在 impl 文件包中新建 UserServiceImpl 来实现 UserService 接口,内容如下:
package com.example.demo.service.impl;
import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService {
public User getUserInfo(){
User user = new User();
user.setName("jack");
user.setPassword(12341234);
return user;
}
}
.idea
- 在 com.example.demo 文件包下新建 controller 文件包;在此文件包下新建 UserController 类,定义接口路径,返回接口数据,内容如下
package com.example.demo.controller;
import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@Autowired
UserService service;
@RequestMapping(value = "/getUserItem",method = RequestMethod.GET)
public String getUserItem(){
User user = service.getUserInfo();
return user.toString();
}
}
验证接口
- 执行主函数
- 在地址栏输入 http://localhost:8888/getUserItem 进行验证,结果正确。
三、学习总结
1.在搭建项目过程中,如果出现 “Web server failed to start. Port 8080 was already in use.’”的问题,按照下图修改端口号2.在实现接口的过程中,需要在项目目录下,新建三个文件包:
entity 包,也就是实体类,这里存放业务逻辑所需要的对象属性或方法。比如要获取用户信息,而用户信息包含名称和密码这两个属性,就需要在这里定义和创建,并同时定义 set 方法用于赋值,定义 get 方法用于取值。
service 包,也就是提供服务的类,有了对象,接下来就要使用对象,实现功能,定义接口。定义接口之后还需要一个实现类,来实现接口。
controller 包,提供了服务之后就要开始使用服务,也就是调用服务类所提供的方法来返回最终的数据。