1.工程搭建与验证

简介: 本文介绍如何基于阿里云脚手架快速搭建SpringBoot工程,并整合SpringSecurity实现基础安全控制。涵盖项目创建、代码导入、Web依赖配置及登录验证流程,附完整代码仓库地址。

1-工程搭建

1.脚手架搭建

https://start.aliyun.com/bootstrap.html

借助于阿里云脚手架,我们可以快速创建一个maven或gradle工程

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

注意:这里默认的SpringBoot版本是3.0.2,其默认使用JDK需要17,一般建议大家使用低一点的版本,这里笔者采用的:2.7.6,即上图版本中的第二个。

2.代码导入

确认无误后,我们下载代码,并完成idea的工程导入

3.代码验证

1.引入web依赖

<!--引入springboot-web-->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>

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.引入依赖

<!--引入springsecurity-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

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月前
|
人工智能 运维 Kubernetes
技术人的知识输出利器:一套高质量知乎回答生成指令模板
本文提供一套系统化知乎高赞回答生成模板,结合AI工具(如DeepSeek、通义千问),助力技术人高效输出高质量内容。涵盖结构框架、质量检查、实战示例与合规建议,提升表达清晰度与内容价值,适用于经验分享、技术科普等多种场景,实现知识输出的标准化与高效化。
369 4
|
2月前
|
网络协议 Go 开发者
Go语言错误处理之错误类型判断(从零掌握Go中error的类型识别与自定义)
本文详解Go语言错误处理中的类型判断技巧,介绍如何使用`errors.Is()`、`errors.As()`和类型断言区分不同错误,结合实例讲解自定义错误的最佳实践,帮助开发者构建更健壮、可维护的应用程序。
|
5月前
|
XML 安全 Java
使用 Spring 的 @Aspect 和 @Pointcut 注解简化面向方面的编程 (AOP)
面向方面编程(AOP)通过分离横切关注点,如日志、安全和事务,提升代码模块化与可维护性。Spring 提供了对 AOP 的强大支持,核心注解 `@Aspect` 和 `@Pointcut` 使得定义切面与切入点变得简洁直观。`@Aspect` 标记切面类,集中处理通用逻辑;`@Pointcut` 则通过表达式定义通知的应用位置,提高代码可读性与复用性。二者结合,使开发者能清晰划分业务逻辑与辅助功能,简化维护并提升系统灵活性。Spring AOP 借助代理机制实现运行时织入,与 Spring 容器无缝集成,支持依赖注入与声明式配置,是构建清晰、高内聚应用的理想选择。
588 0
|
3月前
|
数据采集 人工智能 大数据
IDC中国数据治理平台报告:阿里云连续四年第一
国际数据公司(IDC)发布了《中国数据治理市场份额,2024》报告,2024年中国数据治理平台市场回暖,总规模达到38.3亿,同比增长30.6%。其中阿里云市场份额占比32.1%,连续四年位居第一。
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
AI驱动的测试:用Dify工作流实现智能缺陷分析与分类
传统缺陷分析耗时耗力,依赖经验且效率低下。通过Dify工作流与AI技术融合,实现缺陷报告的多模态解析、智能分类、根因定位与处理建议生成,将单个缺陷处理时间从15-20分钟缩短至2-3分钟,准确率超95%,大幅提升测试效率与质量一致性。
|
8月前
|
前端开发 开发者 容器
使用 CSS Grid 实现响应式布局
使用 CSS Grid 实现响应式布局
|
10月前
|
数据采集 人工智能 测试技术
Python有哪些好用且实用的Web框架?
Python 是一门功能强大的编程语言,在多个领域中得到广泛应用,包括爬虫、人工智能、游戏开发、自动化测试和 Web 开发。在 Web 开发中,Python 提供了多种框架以提高效率。以下是几个常用的 Python Web 框架:1) Django:开源框架,支持多种数据库引擎,适合新手;2) Flask:轻量级框架,基于简单核心并通过扩展增加功能;3) Web2py:免费开源框架,支持快速开发;4) Tornado:同时作为 Web 服务器和框架,适合高并发场景;5) CherryPy:简单易用的框架,连接 Web 服务器与 Python 代码。这些框架各有特色,可根据需求选择合适的工具。
523 14
|
JavaScript Linux 开发者
一个用于管理多个 Node.js 版本的安装和切换开源工具
【9月更文挑战第14天】nvm(Node Version Manager)是一个开源工具,用于便捷地管理多个 Node.js 版本。其特点包括:版本安装便捷,支持 LTS 和最新版本;版本切换简单,不影响开发流程;多平台支持,包括 Windows、macOS 和 Linux;社区活跃,持续更新。通过 nvm,开发者可以轻松安装、切换和管理不同项目的 Node.js 版本,提高开发效率。
653 5
|
10月前
|
安全 Android开发 iOS开发
《跨平台开发新范式:ArkUI-X代码定制与管控指南》
ArkUI-X助力开发者基于一套主代码构建支持OpenHarmony、Android、iOS等多平台的精美应用。然而,不同平台特性差异使得编写和管理平台特定代码成为关键环节。例如,Android需处理权限申请与推送服务,iOS注重交互规范与图像处理,OpenHarmony则发挥分布式能力。合理组织平台特定代码至专门文件夹(如platform_specific),并结合版本控制与定期优化,可提升项目可维护性。掌握这些方法与策略,开发者能充分发挥各平台优势,打造跨平台优质应用。
212 0
|
Prometheus 监控 Cloud Native
prometheus学习笔记之Grafana安装与配置
prometheus学习笔记之Grafana安装与配置
3360 2

热门文章

最新文章