《springboot篇》新建项目

新建接口项目

参考链接:https://www.cnblogs.com/wuyizuokan/p/11117294.html

新建项目

image

image

image

无法链接spring官网

参考链接:https://segmentfault.com/q/1010000007938655
法一:可以使用 https://start.springboot.io/
法二:使用自定义网址,把那个网址的https后面的s去掉,使用http开头就可以访问和使用了。

代码

演示的功能就是提供一个计数器功能,可以初始化计数器,修改计数器,查询计数器当前值。没有使用数据库,直接用一个单例类来模拟了,项目结构如下:

image

Count:

点击查看代码
package com.me.redis.resouce.bean;

public class Count {
    private int count;

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }
}

ResourceController:

点击查看代码
package com.me.redis.resouce.controller;

import com.me.redis.resouce.bean.Count;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.me.redis.resouce.service.ResourceService;

@RestController
public class ResourceController {

    @Autowired
    ResourceService resourceService;

    @RequestMapping(value = "/me/count", method = RequestMethod.PUT)
    @ResponseBody
    public void initCount(@RequestBody Count count){
        resourceService.initCount(count);
    }

    @RequestMapping(value = "/me/count", method = RequestMethod.POST)
    @ResponseBody
    public void modifyCount(@RequestBody Count count){
        resourceService.addCount(count);
    }

    @RequestMapping(value = "/me/count", method = RequestMethod.GET)
    @ResponseBody
    public  Count getCount()
    {
        return resourceService.getCount();
    }
}

ResourceService:

点击查看代码
package com.me.redis.resouce.service;

import com.me.redis.resouce.bean.Count;
import com.me.redis.resouce.manager.ResourceManager;
import org.springframework.stereotype.Service;

@Service
public class ResourceService {
    public void addCount(Count count){
        if (count != null){
            ResourceManager.getInstance().addCount(count.getCount());
        }
    }

    public void minusCount(Count count){
        if (count != null) {
            ResourceManager.getInstance().minusCount(count.getCount());
        }
    }

    public Count getCount()
    {
        Count count = new Count();
        count.setCount(ResourceManager.getInstance().getCount());
        return count;
    }

    public void initCount(Count count){
        if (count != null) {
            ResourceManager.getInstance().initCount(count.getCount());
        }
    }
}

ResourceManager:

点击查看代码
package com.me.redis.resouce.manager;

public class ResourceManager {
    private int count = 0;

    private static ResourceManager instance = new ResourceManager();

    private ResourceManager(){}

    public static ResourceManager getInstance(){
        return instance;
    }

    public synchronized void addCount(int i){
        count = count + i;
    }

    public synchronized  void minusCount(int i){
        count = count -i;
    }

    public int getCount(){
        return count;
    }

    public void initCount(int i){
        count = i;
    }
}
ResouceApplication是idea自动生成的:
点击查看代码
package com.me.redis.resouce;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ResouceApplication {

    public static void main(String[] args) {
        SpringApplication.run(ResouceApplication.class, args);
    }

}

启动服务

在ResourceApplication类上右键启动:
image

服务启动正常:

image

测试

服务提供了三个接口:

URL都是:/me/count 只是分PUT、POST和GET,其中PUT用于初始化,POST用于修改(这里修改是累加),GET用于查询。

下面使用POSTMan进行测试:

查询接口,服务启动,count默认就是0:
image

初始化:
image

再次使用查询接口:

image

修改接口:

image

修改后查询:

image

新建web项目

参考链接:https://blog.csdn.net/m0_67401499/article/details/124422148
参考链接:https://www.cnblogs.com/ljsh/p/14279992.html
其中新建项目可参考上面

1项目结构

image

2其中html

点击查看代码
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Getting Started: Serving Web Content</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="'Hello, ' + ${name} + '!'" />
</body>
</html>

3依赖

除了原来的spring-boot-starter-test还有spring-boot-starter-web是我们创建springboot模板的时候自动加的依赖,
由于html引用的是image
,所以还需要加入依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

4配置文件路径

在application.properties为文件中配置文件路径

spring.thymeleaf.prefix=classpath:/templates/

这一行是标明模板地址的前缀,找页面的时候会先加载templates下的子目录
写上这么一行后就可以进行访问了

5Controller访问路径

点击查看代码
package com.example.boke.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class HelloController {
    @RequestMapping("/hello")
    public String hello(@RequestParam(name="name") String name,Model model){
        model.addAttribute("name",name);
        return "hello";
    }
}

6访问网页

image

通过maven新建项目

参考链接:https://blog.csdn.net/danlan_shiguang/article/details/124681142
参考链接:https://blog.csdn.net/qq_39056803/article/details/123125814

新建项目

点击New Project,选择maven项目
image

填写项目名称
image

生成结构如下
image

添加依赖

添加SpringBoot父工程

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.6.2</version>
</parent>

添加Web场景依赖

<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>
</dependencies>

代码

主程序:
在com.comleader.springboot包下新建

点击查看代码
@SpringBootApplication
public class SpringBootTestApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringBootTestApplication.class, args);
    }
}

Controller:

点击查看代码
@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello, Spring Boot!";
    }
}

配置文件

application.yml设置端口

server:
  port: 8888

端口不生效

参考链接:https://blog.csdn.net/qq_39056803/article/details/123125814

无效原因一:写法问题
错误示范:image
差距就是8081与前面的冒号之间还有一个空格,要是没有的话,就是上图,这样是无效的。
正确示范:image

无效原因二:放置在linux上无效,没有配置address。
此内容详情看链接。

运行服务

image

访问网址

访问地址:

http://127.0.0.1:8888/hello

image

posted @ 2024-01-16 09:59  Fusio  阅读(92)  评论(0编辑  收藏  举报