SpringBoot日记本系统全程直播01:先把框架搞起来撒~~

那么大家晚上好,我是今天晚上的主讲老师,我是兔哥。

一直有粉丝私信我,能不能专门做一期项目实战的教程。这让我不禁想起了之前的文章发布系统系列教程,说实话,写项目类的教程真的很累。不过,看到粉丝们这么热情,我琢磨着的确可以写个项目教程,把我工作中用到的实战经验和技巧分享出来。

斟酌再三,我觉得还是弄个日记本系统吧,商城的话时间跨度太长了,用到的技术会很多,不利于小白学习。

技术栈不会太老,我会用现在最流行的SpringBoot后台框架,权限管理用最近比较流行的sa-token框架,dao层用mybatis-plus,都是比较前沿的技术了。

至于前台,应该会用到layUI。

所以,这个项目还是比较适合专门学习后端的朋友,用layUI不需要特别专业的前端知识,美滋滋。

好了,话不多说,这一节,先让我们把项目搭建起来吧。

因为是springboot项目,我们可以直接用idea来创建,非常的方便。

 

SpringBoot版本我们使用最新的2.6.4,创建好项目,得到以下视图

打开pom.xml,替换为下面的代码:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.6.4</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<groupId>com.rabbit</groupId>
	<artifactId>diary</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>diary</name>
	<description>Demo project for Spring Boot</description>
	<properties>
		<java.version>1.8</java.version>
	</properties>
	<dependencies>
		<!-- web支持 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<!-- servlet依赖. -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>

		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
		</dependency>

		<!-- mysql -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.21</version>
		</dependency>



		<!-- springboot test -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<!-- mybatis plus 支持 -->
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-boot-starter</artifactId>
			<version>3.3.1.tmp</version>
		</dependency>

		<dependency>
			<groupId>cn.hutool</groupId>
			<artifactId>hutool-all</artifactId>
			<version>5.3.4</version>
		</dependency>

		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.1.18</version>
		</dependency>

		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency>

		<!-- Sa-Token 权限认证-->
		<dependency>
			<groupId>cn.dev33</groupId>
			<artifactId>sa-token-spring-boot-starter</artifactId>
			<version>1.28.0</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<version>1.4.2.RELEASE</version>
			</plugin>
		</plugins>

		<resources>
			<resource>
				<directory>${basedir}/src/main/webapp</directory>
				<targetPath>META-INF/resources</targetPath>
				<includes>
					<include>**/**</include>
				</includes>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>false</filtering>
				<includes>
					<include>**/**</include>
				</includes>
			</resource>
		</resources>
	</build>

</project>

 然后,修改配置文件为yml格式:

里面的内容为

server:
  port: 80
  
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/diary?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource
    initialSize: 5
    minIdle: 5
    maxActive: 20
    maxWait: 60000
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true
    #   配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
    filters: stat,wall,log4j
    maxPoolPreparedStatementPerConnectionSize: 20
    useGlobalDataSourceStat: true
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

因为我设置了server.port,所以待会直接用localhost访问,不需要加端口号了。(80端口可以省略) 

我们的数据库名称为diary,现在用navicat等工具创建

创建好了以后,在com.rabbit.diary下面再新建一个包--web,用来放各种控制器。

新建TestController

代码很简单,就写个hello方法,返回一句话即可。

package com.rabbit.diary.web;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {

    @RequestMapping("hello")
    public String hello(){
        return "hello Diary";
    }
}

 @RestController是一个复合注解。

在项目中写控制层时,我们通常会用@Controller注解来对于控制层类进行描述,

当类中的方法需要返回数据而不是页面时,我们会在方法上用@ResponseBody注解描述,

当类中所有方法都要返回数据时,我们就可以将@ResponseBody注解提取出来,直接描述在类上,

这样我们控制层类上就既有@Controller注解也有@ResponseBody注解,这是我们就可以将两个注解写为一个注解@RestController

@RestController=@Controller+@ResponseBody

找到启动类,运行

 

访问:http://localhost/hello 

看到这个字样,就代表框架搭建好了。 

因为是直播写作,难免会有疏漏,如果发现本节有错误的地方,欢迎指正。

下一节:SpringBoot日记本系统全程直播02:登录页面搞起来撒~~

猜你喜欢

转载自blog.csdn.net/weixin_39570751/article/details/123612525
今日推荐