Java工作笔记-使用IDEA开始我的第一个Spring项目

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq78442761/article/details/87938729

目录

 

从Spring Initializr上下载项目

补充first-app-demo中的代码

运行及现象


 

从Spring Initializr上下载项目

链接如下:https://start.spring.io/

在Search for dependencies上选择Reactive Web

下载好后用IDEA打开

补充first-app-demo中的代码

这里首先看下FirstAppDemoApplication.java

package com.MyFirst.firstappdemo;

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

@SpringBootApplication
public class FirstAppDemoApplication {

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

}

从此处可以得到一些感悟!

这些好的框架在main函数里面都很简单,Qt也是如此。

随后新建3个包:

分别为controller,domain,repository标准的MVC。

代码分别如下:

UserController.java

package com.MyFirst.firstappdemo.controller;
import com.MyFirst.firstappdemo.domain.User;
import com.MyFirst.firstappdemo.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class UserController {

    //构造器注入方式把对象放进来,Spring框架进行传递
    private final UserRepository userRepositroy;

    @Autowired
    public UserController(UserRepository userRepository){

        this.userRepositroy = userRepository;
    }

    @PostMapping("/person/save")
    public User save(@RequestParam String name){

        User user = new User();
        user.setName(name);
        if(userRepositroy.save(user)){

            System.out.printf("用户对象:%s保存成功!\n", user);
        }
        return user;    //把user返回给客户端
    }
}

User.java

package com.MyFirst.firstappdemo.domain;

/***
 * 用户模型
 */
public class User {

    private int id;
    private String name;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }
}

UserRepository.java

package com.MyFirst.firstappdemo.repository;

import com.MyFirst.firstappdemo.domain.User;
import org.springframework.stereotype.Repository;

import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicInteger;

/**
 * {@link User} {@link Repository}
 */
@Repository
public class UserRepository {

    /**
     * 采用内存型的存储方式 Map
     */
    private final ConcurrentMap<Integer, User> repository = new ConcurrentHashMap<>();

    private final static AtomicInteger idGenerator = new AtomicInteger();
    /**
     * 保存用户对象
     * @param user {@link User}
     * @return 如果保存成功,返回<code>true</code>
     *                      否则返回<code>false</code>
     */
    public boolean save(User user){

        //ID从1开始
        Integer id = idGenerator.incrementAndGet();
        user.setId(id);
        return repository.put(id, user) == null;

    }
}

运行及现象

这里使用telnet去操作,输入如下命令

POST /person/save?name=xiaoHong HTTP/1.1
Host: localhost

运行截图如下:

此时IDEA中的打印:

猜你喜欢

转载自blog.csdn.net/qq78442761/article/details/87938729