1).在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 http://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.4.5</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.itheima</groupId> <artifactId>reggie_take_out</artifactId> <version>1.0-SNAPSHOT</version> <properties> <java.version>1.8</java.version> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <!--提供嵌入的 Servlet 容器以及 SpringMVC 的依赖,并为Spring MVC提供自动配置,可以适用于大多数 Web 开发场景。--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <scope>compile</scope> </dependency> <dependency> <!--Mybatis-Plus快速集成spring-boot简化配置而生,自动使接口增加默认的插入、查询等方法--> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency> <dependency> <!--用注解的方式,简化JavaBean的编写,避免了冗余和样板式代码而出现的插件--> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.20</version> </dependency> <dependency> <!--FastJson是啊里巴巴的的开源库,用于对JSON格式的数据进行解析和打包。--> <!--速度快、无其他包的依赖、使用比较方便--> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.76</version> </dependency> <dependency> <!--Commons Lang提供基础的、通用的操作和处理,--> <!--如自动生成toString()的结果、自动实现hashCode()和equals()方法、数组操作、枚举、日期和时间的处理等--> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> <dependency> <!--MySQL连接器--> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <!--Druid声称是Java语言中最好的数据库连接池,提供强大的监控和扩展功能--> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.23</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.4.5</version> </plugin> </plugins> </build> </project>
2 在工程的resources目录下创建application.yml文件,并引入配置
server: # 端口设计 port: 8080 spring: application: # 应用名称(可选) name: reggie_take_out datasource: # 数据集 druid: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/rejie?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root password: 123456 mybatis-plus: configuration: #在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射 map-underscore-to-camel-case: true log-impl: org.apache.ibatis.logging.stdout.StdOutImpl global-config: db-config: # ID生成策略:ASSIGN_ID:可以在分布式的情况下使用,生成的是Long类型的数字,可以排序性能也高,但是生成的策略和服务器时间有关,如果修改了系统时间就有可能导致出现重复主键 id-type: ASSIGN_ID
3 创建包 com.waimaige.rejie , 并编写启动类
package com.waimaige.rejie; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @Slf4j //是lombok中提供的注解, 用来通过slf4j记录日志。 @SpringBootApplication // 启动类 public class ReggieApplication { /**@Description: 当搭建完上述的基础环境之后, 就可以通过引导类, 启动该项目。 * @param * @return * @version v1.0 * @author LiBiGo * @date 2022/8/12 0:23 */ public static void main(String[] args) { SpringApplication.run(ReggieApplication.class,args); log.info("项目启动成功............"); } }
4 静态资源导入与外部访问实现
4.1 外部资源导入
4.2 创建配置类WebMvcConfig,设置静态资源映射
4.2.1 静态映射的原因
用于在Springboot项目中, 默认静态资源的存放目录为 : "classpath:/resources/", "classpath:/static/", "classpath:/public/" ; 而在我们的项目中静态资源存放在 backend, front 目录中, 那么这个时候要想访问到静态资源, 就需要设置静态资源映射。
4.2.2 静态映射代码
package com.itheima.reggie.config; import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; //配置类 @Slf4j @Configuration public class WebMvcConfig extends WebMvcConfigurationSupport { /**@Description: 设置静态资源的映射 * @param * @return * @version v1.0 * @author LiBiGo * @date 2022/8/11 23:41 */ @Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { log.info("静态资源开始映射......"); registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/backend/"); registry.addResourceHandler("/front/**").addResourceLocations("classpath:/front/"); log.info("静态资源映射成功"); } }
4.2.3 映射结果展示