工程搭建与验证

简介: 本文介绍如何基于阿里云脚手架快速搭建SpringBoot工程(选用2.7.6版本),并整合Spring Security实现基础安全控制。内容涵盖项目创建、代码导入、Web接口开发、Security依赖引入及登录验证,最终通过默认用户密码访问受保护接口,完整代码见GitHub指定分支。

1-工程搭建
1.脚手架搭建https://start.aliyun.com/bootstrap.html
借助于阿里云脚手架,我们可以快速创建一个maven或gradle工程

如上图创建完之后,点击:浏览代码。即可查看代码大致目录结构,如下图

注意:这里默认的SpringBoot版本是3.0.2,其默认使用JDK需要17,一般建议大家使用低一点的版本,这里笔者采用的:2.7.6,即上图版本中的第二个。
2.代码导入
确认无误后,我们下载代码,并完成idea的工程导入

3.代码验证
1.引入web依赖


org.springframework.boot
spring-boot-starter-web

2.编写访问入口
package com.yzxb.SpringSecurity.web;

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

@RestController
@RequestMapping("demo")
public class HelloController {

@GetMapping
public String helloWorld() {
    return "Hello Spring Security";
}

}
3.启动工程验证

2.整合SpringSecurity
1.引入依赖


org.springframework.boot
spring-boot-starter-security

2.启动验证
启动过程中会发现,日志已经有明显变化

此时我们再去浏览器访问,会发现系统自动跳转到路径:login,如下:

这就验证了我们已经完成了SpringSecurity的整合,此时我们可以用默认账户登录:
● 用户名:user
● 密码:控制台输出,这里就是:e201f3a8-3db8-4a02-b985-9f276b14c6d7
这里也说明了:默认的密码在每次重启工程后是会变化的
当输入正确的用户名密码后,将自动跳转至我们前面访问的路径:http://localhost:8080/demo,结果:

3.完整代码获取
git仓库地址:https://github.com/Herbbbb/SpringSecurity.git
git分支:Day01-整合Springboot与SpringSecurity

相关文章
|
4月前
|
消息中间件 缓存 NoSQL
秒杀系统高并发核心优化与落地全指南
本文系统阐述秒杀系统架构设计:剖析瞬时高并发、库存超卖等核心痛点,提出漏斗过滤、读写分离、强一致性等设计原则;详解前端、Nginx、网关、业务、缓存、消息队列及数据库七层优化方案;并给出Redis预扣减+异步落库等生产级解决方案与完整代码实现。
687 3
|
7月前
|
存储 缓存 负载均衡
Nacos注册中心
本文详细介绍Nacos的安装部署、服务注册与发现、分级模型、负载均衡策略、权重控制、环境隔离及实例类型等核心功能,涵盖从入门到实战的全流程,助力掌握Nacos在微服务架构中的应用,实现高效服务治理与配置管理。
|
7月前
|
SQL Java 数据库连接
持久层框架MyBatisPlus
MyBatisPlus是MyBatis的增强工具,简化单表CRUD操作,无需编写XML,通过BaseMapper、条件构造器、分页插件等实现高效开发,支持自定义SQL、逻辑删除、枚举与JSON处理,提升开发效率。
|
7月前
|
Java 数据库 Sentinel
服务保护、分布式事务 学习目标
本课程深入讲解微服务保护与分布式事务控制,涵盖雪崩问题、熔断降级、限流、线程隔离等核心机制,基于Sentinel实现服务容错;结合Seata实现AT模式的分布式事务管理,掌握CAP原理与实际应用方案。
|
7月前
|
存储 Java 关系型数据库
微服务概述
本文对比单体与微服务架构,解析微服务定义、特征及优缺点,涵盖技术选型、部署方案与学习路径,系统介绍微服务实现方式,助力构建高内聚、低耦合的分布式应用体系。(238字)
|
7月前
|
缓存 NoSQL Java
微服务高频面试题
本课程系统讲解微服务架构核心知识,涵盖SpringBoot与SpringCloud应用、Nacos注册与配置中心、OpenFeign远程调用、Sentinel熔断限流、Gateway网关鉴权、分布式事务Seata、RabbitMQ消息队列、Elasticsearch搜索及Redis缓存等技术,结合实战场景解析服务治理、数据同步与高并发处理方案。
|
7月前
|
关系型数据库 MySQL Java
开发环境搭建
配置开发环境是项目学习的第一步。建议电脑内存16G以上,推荐32G,可搭配便携显示器提升效率。下载并安装虚拟机(CentOS 7,IP:192.168.101.68)、IDEA、Maven、Git等工具,导入课程资料中的虚拟机文件,配置网络与SSH连接。使用FinalShell远程操作,启动Docker、MySQL等服务。IDEA中设置编码、自动导包、Java 11编译级别,并配置Maven本地仓库。通过Gitee Fork黑马商城项目,克隆到本地,创建hmall数据库并导入SQL。修改配置文件中的数据库地址与密码,启动后端服务。前端使用nginx部署,命令行启动。
|
7月前
|
负载均衡 算法 架构师
Ribbon负载均衡
本节深入讲解Ribbon实现客户端负载均衡的原理,解析@LoadBalanced注解的作用机制,剖析其通过拦截器、服务选取、URL重构实现负载均衡的全流程,并介绍自定义策略与饥饿加载优化方法,帮助读者全面掌握Ribbon核心知识。(238字)
|
7月前
|
敏捷开发 Dubbo Java
需求开发人日评估
本文介绍敏捷开发中工时评估的关键——人日估算方法,涵盖开发、自测、联调、测试及发布各阶段周期参考,提供常见需求如增删改查、导入导出、跨服务调用等的典型人日标准,助力团队科学规划迭代进度。(236字)
|
7月前
|
存储 数据库
数据库设计三范式
数据库三范式是设计合理表结构的指导原则。第一范式要求字段原子性,不可再分;第二范式要求消除部分依赖,一张表只描述一件事;第三范式要求消除传递依赖。虽有助于减少冗余与更新异常,但需结合实际灵活应用,避免过度拆分影响效率。