idea快速创建springboot项目

1 新建springboot项目

新建项目:
在这里插入图片描述
修改一些信息:
在这里插入图片描述
接下来勾选springboot的web启动依赖:
在这里插入图片描述
首次进入项目,会下载很多包,耐心等待。

2 配置pom文件

  1. 在pom中添加以下相关包
<!--swagger相关包-->
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>
<!--支持页面的相关包-->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>
<!-- Need this to compile JSP -->
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>
<!--mybatis起步依赖-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.1.1</version>
</dependency>
<!-- MySQL连接驱动 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 配置使用redis启动器 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>
<!--邮箱相关包-->
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4</version>
</dependency>
<!--跨域问题相关包-->
<dependency>
    <groupId>com.thetransactioncompany</groupId>
    <artifactId>cors-filter</artifactId>
    <version>[ version ]</version>
</dependency>
  1. 在pom‘的build中加入:
<resources>
    <resource>
        <directory>src/main/webapp</directory>
        <targetPath>META-INF/resources</targetPath>
        <includes>
            <include>**/**</include>
        </includes>
    </resource>
</resources>

3 application.properties配置文件的配置

#配置tomcat端口,虚拟路径
server.port=8080
server.servlet.context-path=/secluxury

#配置redis端口,主机
spring.redis.port=6379
spring.redis.host=127.0.0.1

#配置图片服务器
IMAGE_DIR=E:\\images\\
IMAGE_URL=http://10.8.157.32:8081/images/

#配置mysql连接
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://10.8.157.32:3306/db_secluxury?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root

#前端控制器配置
spring.mvc.view.prefix=/pages/
spring.mvc.view.suffix=.jsp

#用来更改每次启动的banner图
#spring.banner.charset=UTF-8
#spring.banner.location=classpath:banner.txt

#加载路径下的文件
mybatis.type-aliases-package=com.nuoya.secluxury.pojo
mybatis.mapper-locations=classpath:mapper/*.xml

4 写各个层controller,service层等等

controller层展示:

@CrossOrigin
@RestController
@RequestMapping(value = "goods",method = RequestMethod.POST)
public class GoodsController {

    @Autowired
    GoodsService goodsService;

    @Autowired
    private JedisClient jedisClient;

    @RequestMapping(value = "searchgoods",method = RequestMethod.GET)
    @ApiOperation("该方法用于查询所有的商品,包括模糊查询,条件查询")
    public List<Goods> selectAllGoodsBy(HttpServletResponse response, HttpServletRequest request, @ApiParam(value = "关键词搜索,传入String类型",defaultValue = "dfsdfs") String keyWords, @ApiParam("按照种类搜索,传Integer类型的值")Integer typeId, @ApiParam("按品牌搜索,传品牌id,Integer类型") Integer brandId, @ApiParam("按价格分段查询,传入状态值(Integer类型1、2、3、4、5):价格范围:1:x<1000、2:1000<x<5000、3:5000<x<1W、4:1W<x<10W、5:10W<x") Integer priceStatus, @ApiParam("适用人群(Integer类型0、1、2)0:通用、1:男士、2:女士") Integer peopleType, @ApiParam("成色:95新则传int的95,9新传90,全新传值100") Integer goodsNew, @ApiParam("发布时间排序,传一个字符串createTime即可(前台应控制三个排序同时只能选一个!否则我后台的算法报错)") String createTime, @ApiParam("价格升序,传一个字符串priceAsc即可(前台应控制三个排序同时只能选一个!否则我后台的算法报错)") String priceAsc, @ApiParam("价格降序,传一个字符串priceDesc即可(前台应控制三个排序同时只能选一个!否则我后台的算法报错)") String priceDesc) {
        response.setHeader("Access-Control-Allow-Origin", "*");

        Map<String,Object> map = new HashMap<String,Object>();
        map.put("keyWords",keyWords);
        map.put("typeId",typeId);
        map.put("brandId",brandId);
        map.put("priceStatus",priceStatus);
        map.put("peopleType",peopleType);
        map.put("goodsNew",goodsNew);
        map.put("createTime",createTime);
        map.put("priceAsc",priceAsc);
        map.put("priceDesc",priceDesc);
        System.out.println(map);

        List<Goods> goodsList = goodsService.selectAllGoodsBy(map);
        System.out.println(goodsList);

        return goodsList;

    }
}
  1. 其中的@CrossOrigin
response.setHeader("Access-Control-Allow-Origin", "*");

联合pom最后的一个包,用于解决跨域访问不到的问题!

  1. 其次,
@ApiOperation("该方法用于查询所有的商品,包括模糊查询,条件查询")

是写在每个方法(接口)上的,他是swagger2的用法,用于解释该方法的用途,用法;方法的每个参数前可以加

@ApiParam(value = "关键词搜索,传入String类型",defaultValue = "dfsdfs")

用于解释每个参数的用法,类型等等说明
关于Swagger2详细的请参考我的这篇文章:暂留链接位置,以后补充 19.7.20

mapper.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="com.nuoya.secluxury.mapper.GoodsMapper">
	<select id="selectAllBrand" resultType="Brand">
		select * from goods_brand
	</select>
</mapper>

5 如果用到了jsp或者html页面

file——>
在这里插入图片描述

在这里插入图片描述
确认第五步添加webxml时路径是src\main\webappWEB-INF\web.xml
在这里插入图片描述

6 过程中遇到的错误

  1. 注意mapper层的类上加@Mapper,如果不行
    需要加@Component
    service层的实现类impl加@Service
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值