1.从零点五开始的Java之路
2020-09-04 本文已影响0人
苏坡坡要吃婆婆酥
创建项目
打开idea - New Project

如图选择选择 Spring Initializr 框架,点击 Next。

项目名字自己安排。此处JavaVersion和上一步的JDK选择有关。点击Next。

选择Web -Spring Web,点击Next。

点击Finish。
创建好之后IDEA会根据pom.xml中的配置下载依赖。如果下载失败可以手动重新下载。

如果还是下载失败可以设置下maven的镜像地址
J:\Tools\IntelliJ IDEA\plugins\maven\lib\maven3\conf\setting.xml文件中
加入
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
<!-- 加入的内容 -->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
下载完成之后,可将 .mvn 文件,mvnw 文件,mvnw.cmd 文件删除。
尝试开始写一个接口
正常项目结构如图所示。可以先创建好controller,entity,service,impl等包。

接下来我们先写一个简单的获取用户信息的接口。
1.先在entity包下创建一个User实体类,定义几个属性,名字,年龄等等。
public class User {
private String user_name;
private int user_age;
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
public int getUser_age() {
return user_age;
}
public void setUser_age(int user_age) {
this.user_age = user_age;
}
@Override
public String toString() {
return "User{" +
"user_name='" + user_name + '\'' +
", user_age=" + user_age +
'}';
}
}
2.在service包下创建一个UserService接口类,并在其中定义一个getUserInfo()的方法。
public interface UserService {
User getUserInfo();
}
3.在service包下的impl包中创建UserServiceImpl类来实现UserService接口类。
@Service
public class UserServiceImpl implements UserService {
@Override
public User getUserInfo() {
//模拟一条数据
User user = new User();
user.setUser_name("小明");
user.setUser_age(18);
return user;
}
}
注意 @Service 注释不能少
4.在controller包中创建UserController类,定义接口路径,返回数据等。
@RestController
public class UserController {
@Autowired
UserService service;
@RequestMapping(value = "/getUserInfo", method = RequestMethod.GET)
public String getUserInfo() {
User user = service.getUserInfo();
return user.toString();
}
}
注意 @RestController @Autowired 这些注释不能少
5.点击运行MumsApplication类。或者顶部菜单栏位置运行按钮。

如果控制台出现如下内容,说明8080端口被占用。一般情况下是java.exe占用了,打开任务管理器找到它结束任务就行了。如果还不行就需要通过cmd命令netstat -ano来查找。
Description:
Web server failed to start. Port 8080 was already in use.
Action:
Identify and stop the process that's listening on port 8080 or configure this application to listen on another port.
Process finished with exit code 1
如果出现下面这样就是运行成功了。

6.打开浏览器输入接口地址验证一下。

然后就完事了。