工程搭建与验证

简介: 本文介绍如何基于阿里云脚手架快速搭建SpringBoot工程(选用2.7.6版本),并整合Spring Security实现基础安全控制。涵盖项目创建、代码导入、Web接口开发及Security依赖引入,演示登录认证流程,默认用户名为user,密码动态生成。完整代码见GitHub仓库Day01分支。

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

相关文章
|
22小时前
|
关系型数据库 MySQL Java
开发环境搭建
工欲善其事,必先利其器。学习前请确保电脑内存16G以上(建议32G),推荐使用便携显示器分屏开发以提升效率。下载并配置虚拟机(IP:192.168.101.68)、安装VMware、FinalShell远程连接,导入CentOS 7系统。通过Gitee Fork黑马商城项目,配置Maven、Git、IDEA及Nginx,导入数据库hmall.sql,启动服务后访问本地门户登录测试,完成环境搭建。
|
1天前
|
敏捷开发 Dubbo Java
需求开发人日评估
本文介绍敏捷开发中工时评估的关键——人日估算方法,涵盖开发、自测、联调、测试及发布各阶段周期参考,并提供常见需求如增删改查、导入导出、跨服务调用等的典型人日标准,助力团队科学规划迭代进度。(238字)
|
1天前
|
Java 测试技术 Linux
生产环境发布管理
本文介绍大型团队如何通过自动化部署平台实现多环境(dev/test/pre/prod)高效发布与运维。涵盖各环境职责、基于Jenkins+K8S的CI/CD流程、分支管理、一键发布及日志排查方案,结合Skywalking实现链路追踪,提升发布效率与问题定位能力。(238字)
|
1天前
|
运维 安全 Devops
生产环境缺陷管理
git-poison基于go-git实现分布式bug追溯,解决多分支开发中bug漏修、漏发等问题。通过“投毒-解毒”机制,自动化卡点发布流程,降低协同成本,避免人为失误,已在大型团队落地应用,显著提升发布安全与效率。
|
22小时前
|
存储 缓存 安全
One Trick Per Day
初始化Map应避免默认容量导致扩容,推荐Guava的`newHashMapWithExpectedSize`;禁用Executors创建线程池,防止OOM,应手动通过`ThreadPoolExecutor`设置合理参数;`Arrays.asList`返回不可变列表,禁止修改操作;遍历Map使用`entrySet`提升性能;`SimpleDateFormat`非线程安全,建议用`ThreadLocal`或Java8时间类;并发修改记录需加锁,优先乐观锁,冲突高则用悲观锁。
|
1天前
|
Java 应用服务中间件 网络安全
Eclipse运行SSM/SSH项目教程
本教程介绍如何在Eclipse中配置并运行Java Web项目。涵盖JDK、Tomcat环境搭建,项目导入(支持Maven与非Maven),Eclipse中绑定Tomcat服务器及项目部署步骤。提供常见问题解决方案,如数据库连接配置错误等,助你快速启动项目并访问。
|
1天前
|
存储 Java 编译器
Java泛型类型擦除以及类型擦除带来的问题
Java泛型在编译时会进行类型擦除,所有泛型信息被移除,替换为原始类型(如Object或限定类型)。擦除后,List<String>和List<Integer>均变为List,导致反射可绕过类型限制。类型检查发生在编译期,针对引用而非对象本身。获取泛型值时无需强转,因编译器自动插入类型转换代码。泛型不支持基本类型,静态成员不能使用类的泛型参数,因静态上下文独立于实例化类型。
|
22小时前
|
NoSQL Linux Shell
MongoDB单机部署
本文介绍MongoDB在Windows与Linux系统下的安装启动方法,包括下载、解压、配置数据目录及启动服务的两种方式(命令行与配置文件),并详解配置文件常见问题与解决。同时介绍通过Shell连接及使用图形化工具Compass的方法,涵盖环境变量设置、端口修改、日志配置、防火墙处理及服务关闭等操作,适用于单机生产部署。
|
1天前
|
存储 NoSQL 关系型数据库
MongoDB索引知识
MongoDB索引通过B树结构提升查询效率,避免全表扫描。支持单字段、复合、地理空间、文本及哈希索引,优化相等匹配、范围查询、排序与全文搜索,显著提升大数据量下的查询性能。
|
22小时前
|
Java 数据库连接 mybatis
映射关系(1-1 1-n n-n)
MyBatis中通过resultMap实现一对一、一对多、多对一及多对多映射。一对一用于属性与字段映射;一对多通过`<collection>`关联主表与子表(如用户对应多个角色);多对一使用`<association>`关联对象(如博客关联作者);多对多借助中间类实现双向关联(如用户与部门互关)。