学习 Java 第一天:从零开始搭建项目,实现第一个接口(IDEA)
前言
虽然我是一枚妥妥的前端无疑了,但是前端和后端的关系是密不可分的,数据对接是每个前后端的家常便饭,我相信学习一门后端语言会有助于前后端地沟通。好的程序员是不分前后端的。只是侧重点不同而已。所以决定从今天开始,拓展一下语言的宽度,来学一下 Java,在此记录一下学习成果。本文适合 Java 菜鸟看,如果你是一枚老司机,欢迎多多指点。
一、从零开始搭建项目
- 打开 IDEA 编辑器,选择 File -> New -> Project;
- 选择 Spring Initializr ,点击 Next;
- 填写 Group( maven项目中的唯一坐标,可以由组织,比如 com ,和公司名称组成 )及 Artifact(项目名称),点击 Next;
- 选择 Web,选择 Spring Web Starter,点击 Next;
- 选择项目名称和项目存放路径,点击 Finish 完成;
- 以上步骤操作完之后,项目搭建就完成了,有时候 IDEA 会根据 pom.xml 中的配置下载依赖,如果没有自动下载,可手动下载,如下图所示;
- 下载完成之后,可将 .mvn 文件,mvnw 文件,mvnw.cmd 文件删除。
二、从零开始实现第一个接口
实现接口
实现一个获取单条用户信息的接口 getUserItem,访问地址为 http://localhost:8080/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:8080/getUserItem 进行验证,结果正确。
三、学习总结
- 在搭建项目过程中,如果出现 “Initialization failed for ‘https://start.spring.io’”的问题,可以参考博客 解决 IDEA 创建 spring 项目时出现 Initialization failed for ‘https://start.spring.io’ 问题。
- 在实现接口的过程中,需要在项目目录下,新建三个文件包:
- entity 包,也就是实体类,这里存放业务逻辑所需要的对象属性或方法。比如要获取用户信息,而用户信息包含名称和密码这两个属性,就需要在这里定义和创建,并同时定义 set 方法用于赋值,定义 get 方法用于取值。
- service 包,也就是提供服务的类,有了对象,接下来就要使用对象,实现功能,定义接口。定义接口之后还需要一个实现类,来实现接口。
- controller 包,提供了服务之后就要开始使用服务,也就是调用服务类所提供的方法来返回最终的数据。