SpringBoot项目搭建
一、使用idea里面,点击File->New->Project,来建立新项目、
之后按照步骤进行选择,1->2->3
这块是填写你的包名,和一些jar的基本设置,根据自己的业务填写Group和Artifact就可以了,其他的选中默认就可以了
之后是选择对应的依赖包,可以选择一些基本的,或者是根据一些自己的项目需求进行添加,下面是我选择的一些基本的依赖,web里面的web,SQL里面的mysql和mybatis,以及nosql里面的redis,之后选择next,在选择一些基本的项目保存地址,点击结束就好了,这个时候,回自动的下载依赖,会需要一点时间,请等待一下。
之后就会生成如下的项目结构目录,其中pom.xml文件就是管理项目的依赖的。
下面添加了我对应的代码段,因为我要操作一些redis,所以我自己引入了两个有关于redis的依赖,具体的我已经在注释上写好了。
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>这块是你的项目的名字,不要借用我的哟</groupId>
<artifactId>这块是你的项目的名字,不要借用我的哟</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>这块是你的项目的名字,不要借用我的哟</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--在建立springboot项目的时候选择的redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--设置reids配置需要的依赖包-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<!--使用的是jedis这个类-->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>8.0.12</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--c3p0 这是我手动引入的 因为我需要连接数据库-->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<!--fastjson 对于数据的基本操作-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.4</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
这个时候,应该修改yml文件了,这个yml文件在src->main->resources文件夹下面,这个时候你会很诧异因为根本没有.yml文件,其实.yml文件是配置文件,在项目创立的时候,是使用的.properties文件,但是由于.yml文件比较结构清晰,所以就使用的是.yml文件,这个是吧不要慌,直接把application.properties文件的后缀修改成.yml,就好了。
下面就是我的基本配置,配置之后在resources下面建立一个mapper的文件夹,对应的mapper-locations的路径,对应好千万不要出错。
#mybatis的连接
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: 你自己对应的包名,自己看你自己建立的
#数据库连接池
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 123456
url: jdbc:mysql://192.168.1.200:3306/数据库名字?rewriteBatchedStatements=true&serverTimezone=GMT%2B8
redis:
host: 192.168.1.200
# password: 123456
port: 6379
这个时候,开始实现数据库的一个简单的查询功能,在mapper文件夹下面建立好一个xml文件,这个是mybatis的写法了,自己去百度吧,之后建好上面的文件夹目录,之后切记,在启动类里面上面添加一个注解,去读取mapper里面的接口,
在接口文件里面,一定要添加这个注解,
controller,里面涉及到redis的东西,可以自行屏蔽
package cn.aimacademy.spy.spyserver.controller;
import cn.aimacademy.spy.spyserver.server.TextServer;
import cn.aimacademy.spy.spyserver.server.redisservice.RedisService;
import cn.aimacademy.spy.spyserver.server.redisservice.RedisUtilsService;
import cn.aimacademy.spy.spyserver.utils.CommonUtils;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
import java.util.Set;
@RestController
@RequestMapping("/TextController")
public class TextController {
@Autowired
private TextServer textServer;
@Autowired
RedisUtilsService redisUtilsService;
@RequestMapping("/queryInfo")
public JSONObject queryInfo() {
JSONObject json = new JSONObject();
json.put("sqlData",textServer.queryInfo());
Set list = redisUtilsService.getZSetByName(CommonUtils.ENT_INFO_LIST,0,5);
json.put("list",list);
json.put("length",list.size());
json.put("size",redisUtilsService.getZSetSize(CommonUtils.ENT_INFO_LIST));
return json;
}
}
server里面的,我做的是,面向接口编程,所以我又写了一个接口
package cn.aimacademy.spy.spyserver.server.iml;
import cn.aimacademy.spy.spyserver.mapper.TextMapper;
import cn.aimacademy.spy.spyserver.server.TextServer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Service
public class TextServerIml implements TextServer {
@Autowired
private TextMapper textMapper;
@Override
public List<Map<String, Object>> queryInfo() {
return textMapper.queryInfo();
}
}
接口
package cn.aimacademy.spy.spyserver.server;
import java.util.List;
import java.util.Map;
public interface TextServer {
List<Map<String,Object>> queryInfo();
}
mapper
package cn.aimacademy.spy.spyserver.mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Repository
public interface TextMapper {
List<Map<String,Object>> queryInfo();
}
xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.aimacademy.spy.spyserver.mapper.TextMapper">
<select id="queryInfo" resultType="java.util.Map">
查询语句,自己写一个
</select>
</mapper>
利用接口测试工具postman进行了数据的测试,成功