(一)spring-boot教程,开发个人博客:搭建环境

avatar

开发环境

  • VSCODE
  • Spring-Boot 2.0
  • JDK8
  • MacOS

vscode完全可以开发spring-boot项目,断点调试都很给力,主要的是它不要钱,下面给大家推荐几个开发spring-boot要用到的插件

  • java ide
  • spring initializr java support
  • spring boot tools
  • spring boot extension pack
  • debugger for java
  • java extension pack
  • Language Support for Java(TM) by Red Hat
  • maven for java
  • freemarker

新建项目

在vscode里使用 spring initializr java support 这个插件新建项目,主要操作步骤在插件描述里有介绍,这里就不重复了

如果实在用不好,也可以到 start.spring.io 上去新建

我们这里就新建一个最简单的web项目,相关依赖如下

如果是在 start.spring.io 上新建的话,配置如下

然后使用vscode打开项目它会自动下载依赖,如果你用的是 idea 开发的,那对spring-boot支持的就更好了

规划目录结构

因为我们要开发一个博客,所以项目不会太大,这里采用按功能来划分包结构的方式,详见文章: 项目的包结构一般划分约定

建好包后,大概长这个样

第一个路由

因为添加了jpa和mysql,所以项目启动的时候会自动去连接数据库,这里要先把数据库连接配置好,否则待会启动会报错

找到 application.properties 将其改名为 application.yml 因为 yml 文件的结构更清晰,然后在文件里加上下面配置

spring:
  datasource:
    url: jdbc:mysql://localhost/blog-demo?useSSL=false&characterEncoding=utf8
    username: root
    password: 
  jpa:
    database: mysql
    show-sql: true
    hibernate:
      ddl-auto: update

说明:

  • username , password 要根据你自己安装数据库的用户名和密码做相应的修改
  • 在启动项目之前先在mysql数据库里新建一个数据库名字:blog-demo
  • ddl-auto: update 表示项目启动的时候会自动去更新表结构,如果类中有增加属性,那么相应的表里也会增加字段,如果类中删除属性,表字段不会删除,一般情况这个属性都会选择 update,开发时很方便

添加一个实体类

User.java

package com.example.demo.model;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table
public class User implements Serializable {

  private static final long serialVersionUID = 1L;

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Integer id;
  private String username;
  private String password;

  // getter, setter
}

再添加一个controller

package com.example.demo.controller;

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

@Controller
@RequestMapping("/user")
public class UserController {

  @GetMapping("/{username}")
  public String profile(@PathVariable String username, Model model) {
    model.addAttribute("username", username);
    return "user/profile";
  }
}

添加一个页面,因为在controller里用到了freemarker模板,在templates里新建一个user文件夹,在user文件夹里新建一个profile.ftl文件,内容

hello ${username}

现在可以启动项目了,直接运行 DemoApplication.java 里的main方法

启动后,打开浏览器 http://localhost:8080/user/world

总结

至此,第一个路由(页面)就建好了,里面用到的东西后面慢慢介绍

目前还没有回答,快来帮帮TA吧!
添加一条评论 请尽量发布对他人有帮助的评论

登录后可发布评论

登录 | Github登录