使用Intellij idea创建一下java后台项目并实现第一个接口_idea后端实例接口教程-程序员宅基地

技术标签: spring  java  web  maven  后端  

创建java后台项目

1.下载并安装Intellij idea.

2.选择Create New Project

3勾选左侧的Spring Initializr ,点击next

4.填写项目名称和包名,点击next

5.勾选左侧web  ,然后勾选中间的sping web,点击右侧的next

6.等待项目创建完成。

从零开始实现第一个接口

实现接口

实现一个获取单条用户信息的接口 getUserItem,访问地址为 http://localhost:8080/getUserItem。

  1. 在 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+"}";
        }
    }

     

  2. 在 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;
        }
    }

     

  3. 在 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();
        }
    }
    

    验证接口

  4. 执行主函数

  5. 在这里插入图片描述
  6. 在地址栏输入 http://localhost:8080/getUserItem 进行验证,结果正确。

在这里插入图片描述

 

学习总结

在实现接口的过程中,需要在项目目录下,新建三个文件包:
entity 包,也就是实体类,这里存放业务逻辑所需要的对象属性或方法。比如要获取用户信息,而用户信息包含名称和密码这两个属性,就需要在这里定义和创建,并同时定义 set 方法用于赋值,定义 get 方法用于取值。
service 包,也就是提供服务的类,有了对象,接下来就要使用对象,实现功能,定义接口。定义接口之后还需要一个实现类,来实现接口。
controller 包,提供了服务之后就要开始使用服务,也就是调用服务类所提供的方法来返回最终的数据。
 

发布jar包:

1.打开右侧的Maven,选择package打出jar包

2.打开cmd ,打开jar包所在的文件夹 

3.输入java -jar jar包名称

4.回车等待jar发布

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Mydtudysy/article/details/114262831

智能推荐

DirectX9 ShadowMap例子学习笔记_g_aminitobjworld-程序员宅基地

文章浏览阅读2.7k次。本文版权归博客园 mavaL所有,如有转载请按如下方式详细标明原创作者及出处,以示尊重!!原创作者:mavaL原文链接:DirectX9 ShadowMap例子学习笔记学习SDK例子真是快速加强编程能力的途径,然而虽如此,微软不仅在每个例子中展示了本_g_aminitobjworld

Bootstrap datetimepicker- Uncaught TypeError : Cannot to read property “getTime” of undefined_bootstrap-datetimepicker.min.js?v=2.4.4:1 uncaught-程序员宅基地

文章浏览阅读3.6k次。解决:在bootstrap-datetimepicker.js中,找到getDate: function () { var d = this.getUTCDate(); if (d === null) { return null; } return new Date(d.getTime() + (d.getTimezoneOf..._bootstrap-datetimepicker.min.js?v=2.4.4:1 uncaught typeerror: cannot read pr

C语言实现大数相乘运算_两个大数相乘c语音-程序员宅基地

文章浏览阅读1.3k次。本篇文章依然是有关TP2的内容。TP2主要思想:跳出整型浮点型的限制,定义新的容量比较大的数据类型,从而实现一些大数运算看了一些网上的算法和代码,也从前辈文章里得到一些灵感,产出一个用C语言实现大数相乘的算法废话不多说,直接上算法和代码t_EntierLong multiplication(t_EntierLong n1,t_EntierLong n2){ int i,j,m,c;//m是进位变量 t_EntierLong result; result.Negatif=f_两个大数相乘c语音

linux基本命令操作(一)_将搜索结果输出到用户主目录下的my.txt文件-程序员宅基地

文章浏览阅读333次。本文来自民工哥微信上的文章1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件-a 列出包括.a开头的隐藏文件的所有文件-A 通-a,但不列出"."和".."-l 列出文件的详细信息-c 根据ctime排序显示-t 根据文件修改时间排序---color[=WHEN] 用色彩辨别文件类型 WHEN 可以是'never'、'always'或'auto'其中之一..._将搜索结果输出到用户主目录下的my.txt文件

预编译指令与宏定义-程序员宅基地

文章浏览阅读152次。#if #elif [defined(), !defined()] #else #ifdef #ifndef #endif // 条件编译/* 头文件防止多次被包含 */#ifndef ZLIB_H#define ZLIB_H#endif /* ZLIB_H *//* 用C方式来修饰函数与变量 */#ifdef __cplusplus..._预处理指令或编译器优化

【Python学习】Python的点滴积累_python怎么输出deff-程序员宅基地

文章浏览阅读347次。点滴积累一、Python中的map()函数与lambda()函数1.1 map()函数1.2 lambda()函数一、Python中的map()函数与lambda()函数1.1 map()函数用法:map(function, iterable, …)参数function: 传的是一个函数名,可以是python内置的,也可以是自定义的。参数iterable: 传的是一个可以迭代的对象,例如列表,元组,字符串…功能: 将iterable中的每一个元素执行一遍function例子一:例如,_python怎么输出deff

随便推点

英语 | Day 33、34 x 句句真研每日一句(找从句、意译)_句句真研每日一句答案在哪-程序员宅基地

文章浏览阅读465次,点赞2次,收藏3次。Day 33Day 34_句句真研每日一句答案在哪

python全栈指的是什么意思?这篇文章非常值得一看_什么是python全栈-程序员宅基地

文章浏览阅读620次。所以说一个现代化的项目,是一个非常复杂的构成,我们需要一个人来掌控全局,他不需要是各种技术的资深专家,但他需要熟悉到各种技术。全栈只是个概念,我们要明白全栈也是有分非常多类别的,真正的全栈工程师涵盖了web开发,DBA、爬虫、测试等各种技能,要学的内容也是相当大的。很多小伙伴想知道python全栈是什么意思,那么今天小编就通过这篇文章来给大家详细讲解一下什么是python的全栈,感兴趣的小伙伴一定要耐心阅读一下这篇文章。以上就是小编给大家带来的python全栈是什么意思的相关知识了。_什么是python全栈

Nginx-GridFS踩坑记录-程序员宅基地

文章浏览阅读709次。nginx和nginx-gridfs都装好了,有些坑可能和版本有很大关系Nginx重新编译安装后访问不了了把项目配置文件的导入注释掉,直接用最小配置测试server { listen 80; server_name www.wyyxhlxy.com; location / { root html; index i..._nginx invalid mongo user/pass:

Logit交通方式选择模型——例题_logit模型python实现交通方式划分-程序员宅基地

文章浏览阅读6.8k次,点赞6次,收藏25次。在仅有公共汽车和汽车两种交通方式的地区,假设有下述Logit交通方式选择模型,试用下表的现状出行时长、现状出行费用、现状划分率、将来出行时长、将来出行费用,求出这两种交通方式的将来划分率。划分率:PrijB=eVijBeVijB+eVijCPr_{ij}^{B}=\frac{e^{V_{ij}^{B}}}{e^{V_{ij}^{B}}+e^{V_{ij}^{C}}}PrijB​=eVijB​+eVijC​eVijB​​ PrijC=1−PrijBPr_{ij}^{C}=1-Pr_{ij}^{B}Prij_logit模型python实现交通方式划分

2023 最新版navicat 下载与安装 步骤及演示 (图示版)_navicat下载-程序员宅基地

文章浏览阅读7.5w次,点赞37次,收藏222次。Navicat 是一款功能强大的数据库管理工具,可支持多种数据库类型,如 MySQL、Oracle、SQLite、Redis、PostgreSQL 等等。随着数据管理的重要性越来越受到重视,Navicat 的使用率也开始逐渐上升。本文将为您详细介绍 2023 最新版 Navicat 的下载、安装和基本使用方法。通过图文详解,帮助您轻松上手使用 Navicat,提高数据库管理的效率。_navicat下载

element table数据量太大导致网页卡死崩溃_element表格数据多了卡-程序员宅基地

文章浏览阅读6.2k次。elementUI中的表格组件el-table性能不优,数据量大的时候,尤其是可操作表格,及其容易卡顿。_element表格数据多了卡