96SEO 2026-02-23 14:19 9
/META-INF/resources//resources//static//public/

/META-INF/resources//resources//static//public/
src/main/resources/static/logo.png那么可以通过
spring.mvc.static-path-pattern/images/**这会告诉
http://localhost:8080/images/图片名.文件后缀
spring.resources.static-locationsclasspath:/my-resources/,classpath:/static/这会告诉
spring.mvc.static-path-pattern/images/**#
#spring.web.resources.static-locationsclasspath:/static/#
spring.web.resources.static-locations/upload/,classpath:/static/3.
http://localhost:8080/images/test.jpg
接口上传文件是一个常见的需求通常涉及以下几个步骤前端准备文件数据、发送
spring.servlet.multipart.max-file-size10MB#
#spring.servlet.multipart.max-request-size10MB2.
{System.out.println(nickname);//获取图片原始名称System.out.println(photo.getOriginalFilename());//
获取文件类型System.out.println(photo.getContentType());//
request.getServletContext().getRealPath(/upload/);//
打印出图片上传位置System.out.println(path);//
photo.getOriginalFilename());//
把网络上的文件存储到服务器本地photo.transferTo(file);}}3.
request.getServletContext().getRealPath()
如果我们想在前端浏览器访问到这些图片可以把这个文件夹设置成静态资源目录。
spring.web.resources.static-locations/upload/,classpath:/static/需要注意的点在开发阶段Spring
http://localhost:8080/images/bus.jpg七、拦截器
中拦截器Interceptor是一种常用的机制用于在请求到达控制器之前或之后执行某些操作。
拦截器可以用于日志记录、权限校验、性能监控等多种场景。
拦截器打印的信息在控制台看到它就说明拦截器生效了System.out.println(拦截器打印的信息);return
addInterceptors(InterceptorRegistry
http://localhost:8080/hello?nicknamezhangsanphone123//
拦截所有/hello/开头的请求registry.addInterceptor(new
LoginInterceptor()).addPathPatterns(/hello/**);}
使用名词而不是动词来表示资源。
使用复数形式来表示集合资源。
使用连字符或驼峰命名法来提高可读性。
GET用于获取资源。
POST用于创建资源。
PUT用于更新资源替换整个资源。
PATCH用于部分更新资源。
DELETE用于删除资源。
PathVariableGetMapping(/user/{id})public
Post用于创建资源PostMapping(/user)public
{System.out.println(user.toString());return
Put用于更新资源PutMapping(/user)public
Delete用于删除资源DeleteMapping(/user/{id})public
dependencygroupIdorg.springdoc/groupIdartifactIdspringdoc-openapi-starter-webmvc-ui/artifactIdversion2.6.0/version
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-validation/artifactIdversion3.3.4/version
http://localhost:8080/v3/api-docs
#springdoc.api-docs.path/user-service/v3/api-docs#
springdoc.swagger-ui.enabledtrue
http://localhost:8080/swagger-ui/index.html
#springdoc.swagger-ui.path/user-service/swagger-ui/index.html然后创建
Info().title(XXX微服务平台).description(描述平台).version(v1.0.0)).externalDocs(new
ExternalDocumentation().description(设计文档).url(https://blog.csdn.net/Sareur_1879?typeblog));}
http://localhost:8080/swagger-ui/index.html
http://localhost:8080/user-service/swagger-ui/index.html4.
版本是可以正常上传文件的我们上面那个文件上传接口是可以正常使用的文档中的参数类型
的基础上只做增强不做改变为简化开发、提高效率而生。
接下来我们在
dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.34/versionscopeprovided/scope
dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-spring-boot3-starter/artifactIdversion3.5.8/version
dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.49/version
dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.2.23/version
Mapping对象关系映射是一种编程技术用于将对象模型与关系型数据库模型之间进行转换。
简单来说ORM
spring.datasource.typecom.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-namecom.mysql.jdbc.Driver
spring.datasource.urljdbc:mysql://localhost:3306/mydb?useSSLfalse
spring.datasource.username数据库账号
spring.datasource.password数据库密码
mybatis-plus.configuration.log-implorg.apache.ibatis.logging.stdout.StdOutImpl创建数据表
提供的一个非常强大的注解它可以一次性给类生成多个常用的方法从而大大减少样板代码的编写。
具体来说Data
方法用于比较对象是否相等。
RequiredArgsConstructor生成一个包含所有
userMapper.selectList(null);System.out.println(list);return
id然后打印到控制台上System.out.println(user);if
MybatisPlushttps://blog.csdn.net/Sareur_1879/article/details/143181790
全栈开发https://www.bilibili.com/video/BV1nV4y1s7ZN/
开发环境搭建https://blog.csdn.net/Sareur_1879/article/details/137963848
中的配置与使用https://blog.csdn.net/Sareur_1879/article/details/143091933
项目是两种创建方式https://blog.csdn.net/Sareur_1879/article/details/139201323
官网https://maven.apache.org/download.cgi
官网https://spring.io/projects/spring-boot
官网https://www.jetbrains.com.cn/idea/
下载地址https://notepad-plus.en.softonic.com/
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback