OAuth2.0实战案例2

简介: 本节介绍如何创建一个基于Spring Boot的资源服务模块,包括工程搭建、依赖导入(如Web、Security、OAuth2等)、配置文件设置、启动类与Mapper扫描,以及编写简单的商品查询接口,实现基础资源访问功能。

2.创建资源模块

2.1 创建工程并导入依赖

<parent>

 <artifactId>springboot_security_oauth</artifactId>

 <groupId>com.itheima</groupId>

 <version>1.0-SNAPSHOT</version>

</parent>

<modelVersion>4.0.0</modelVersion>

<artifactId>oauth_source</artifactId>


<dependencies>

 <dependency>

   <groupId>org.springframework.boot</groupId>

   <artifactId>spring-boot-starter-web</artifactId>

 </dependency>

 <dependency>

   <groupId>org.springframework.boot</groupId>

   <artifactId>spring-boot-starter-security</artifactId>

 </dependency>

 <dependency>

   <groupId>org.springframework.cloud</groupId>

   <artifactId>spring-cloud-starter-oauth2</artifactId>

 </dependency>

 <dependency>

   <groupId>mysql</groupId>

   <artifactId>mysql-connector-java</artifactId>

   <version>5.1.47</version>

 </dependency>

 <dependency>

   <groupId>org.mybatis.spring.boot</groupId>

   <artifactId>mybatis-spring-boot-starter</artifactId>

   <version>2.1.0</version>

 </dependency>

</dependencies>

2.2 创建配置文件

server:

port: 9002

spring:

datasource:

 driver-class-name: com.mysql.jdbc.Driver

 url: jdbc:mysql:///security_authority

 username: root

 password: root

main:

 allow-bean-definition-overriding: true

mybatis:

type-aliases-package: com.itheima.domain

configuration:

 map-underscore-to-camel-case: true

logging:

level:

 com.itheima: debug

2.3 创建启动类

@SpringBootApplication

@MapperScan("com.itheima.mapper")

public class OAuthSourceApplication {

   public static void main(String[] args) {

       SpringApplication.run(OAuthSourceApplication.class, args);

   }

}

2.4 创建处理器

@RestController

@RequestMapping("/product")

public class ProductController {

   @GetMapping

   public String findAll(){

       return "查询产品列表成功!";

   }

}

相关文章
|
2月前
|
SQL Java 关系型数据库
MyBatis 动态 SQL 详解:灵活构建复杂查询条件
MyBatis提供强大的动态SQL机制,通过`&lt;if&gt;`、`&lt;where&gt;`、`&lt;foreach&gt;`等标签实现条件判断、循环拼接,避免手动字符串处理。支持智能WHERE、SET生成,兼容多数据库模糊查询,提升代码安全性与可维护性,适用于复杂查询、批量操作等场景。
|
2月前
|
NoSQL 前端开发 BI
MongoDB 分页、排序与统计查询技巧
MongoDB 提供 `count()`、`sort()`、`skip()`、`limit()` 等链式方法,高效实现数据统计、分页与排序。支持多字段排序、条件分页,执行顺序固定为:先排序 → 再跳过 → 后限制数量,适用于各类业务场景的数据查询处理。(239字符)
|
2月前
|
XML Java 数据格式
Spring @Configuration 注解详解:用 Java 代码替代 XML 配置
`@Configuration` 是 Spring 实现 Java 配置的核心注解,替代传统 XML,通过 `@Bean` 注册 Bean,结合 `@Import`、`@ComponentScan` 等实现类型安全、可维护的配置方式,推动 Spring 应用现代化。
|
2月前
|
NoSQL Shell Linux
Windows 系统下的 MongoDB 单机部署
本文详细介绍 MongoDB 在 Windows 和 Linux 系统中的单机部署方法,涵盖下载安装、目录配置、服务启停、Shell 与 Compass 连接等步骤,助你快速搭建开发与生产环境。
|
2月前
|
安全 固态存储 Java
通用权限管理模型详解:从 ACL 到 RBAC0/1/2/3
本文深入解析ACL与RBAC两种主流权限模型,重点剖析RBAC的四个层级(RBAC0-RBAC3),涵盖角色继承、职责分离等核心机制,并结合实际场景给出选型建议,助你构建安全、可维护的权限体系。
|
2月前
|
Java Spring
Spring Boot 中的 @RequestParam:获取查询参数与表单数据
`@RequestParam` 用于提取 HTTP 请求中的查询参数或表单数据,支持设置参数名、是否必填及默认值。适用于 `?key=value` 形式或 POST 表单,字段多时推荐封装为实体类自动绑定,与 `@PathVariable` 按路径取值不同,用途明确,是处理 Web 请求的常用方式。
|
2月前
|
安全 Java jenkins
Spring Boot 多环境配置与 Profile 实战
Spring Boot通过Profile实现多环境配置,支持dev、test、prod等环境的独立配置。通过application-{profile}.yml分离配置,结合spring.profiles.active动态激活,实现一套代码适配多套环境,提升部署效率与安全性。
|
2月前
|
Java API 数据库
Spring Boot 中的项目属性配置
本课讲解Spring Boot外部化配置,通过`application.yml`管理数据库、API地址等动态参数,避免硬编码。掌握`@Value`读取配置、多环境Profile切换,并了解敏感信息加密与配置中心实践,提升系统灵活性与安全性。(238字)
|
2月前
|
SQL Java 数据库连接
Spring Boot 使用 SLF4J 进行日志记录
本课讲解Java开发中日志的最佳实践,摒弃System.out.println(),采用SLF4J+Logback方案。涵盖日志级别、配置文件编写、格式化输出与滚动策略,提升系统可观测性与维护效率。
|
6月前
|
Windows
企业微信无法正常启动,报错0xc0000142,解决办法
企业微信无法正常启动,报错0xc0000142,解决办法
1776 0