OpenFeign 整合 Spring boot

本文介绍了OpenFeign,一种声明式的HTTP客户端,它在Spring Cloud中的应用使得远程服务调用如同本地方法调用一样简单。文章对比了Feign和OpenFeign,强调了OpenFeign的特性,如注解支持、HTTP编码器、负载均衡和错误重试等。接着,详细阐述了如何在Spring Boot项目中整合OpenFeign,包括添加依赖、启用注解和使用@FeignClient注解。最后,提到了测试调用OpenFeign服务的两种方式。
摘要由CSDN通过智能技术生成

OpenFeign简介

OpenFeign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用OpenFeign,可以做到使用HTTP请求访问远程服务,就像调用本地方法一样的,开发者完全感知不到这是在调用远程方法,更感知不到在访问HTTP请求。

Feign / OpenFeign对比

Feign OpenFeign
Feign是Springcloud组件中的一个轻量级Restful的HTTP服务客户端,Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。Feign的使用方式是:使用Feign的注解定义接口,调用这个接口,就可以调用服务注册中心的服务 OpenFeign 是Spring Cloud在feign的基础上支持了SpringMVC的注解,如@RequestMapping等。OpenFeign的@FeignClint可以解析SpringMVC的@RequestMapping注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其它服务

OpenFeign的功能

1.可插拔的注解支持,包括Feign注解和JAX-RS注解。
2.支持可插拔的HTTP编码器和解码器(Gson,Jackson,Sax,JAXB,JAX-RS,SOAP)。
3.支持Hystrix和它的Fallback。
4.支持Ribbon的负载均衡。
5.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Spring Boot 中使用 Spring Security,需要进行以下步骤: 1. 添加 Spring Security 依赖。 在 `pom.xml` 文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> ``` 2. 配置 Spring Security。 在 Spring Boot 中,可以通过 `WebSecurityConfigurerAdapter` 来配置 Spring Security。创建一个类继承 `WebSecurityConfigurerAdapter`,并重写其中的方法来配置 Spring Security。 例如: ```java @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/admin/**").hasRole("ADMIN") .antMatchers("/user/**").hasRole("USER") .anyRequest().authenticated() .and() .formLogin() .and() .httpBasic(); } @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication() .withUser("admin") .password(passwordEncoder().encode("admin123")) .roles("ADMIN") .and() .withUser("user") .password(passwordEncoder().encode("user123")) .roles("USER"); } @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } } ``` 上述代码中,`configure(HttpSecurity http)` 方法用于配置 URL 的访问权限,`configure(AuthenticationManagerBuilder auth)` 方法用于配置用户的认证信息。在上述示例中,配置了两个角色 ADMIN 和 USER,分别具有不同的访问权限。 3. 使用 Spring Security。 在 Spring Security 配置完后,可以在 Spring Boot 项目的其他地方使用 Spring Security。例如,在控制器中使用注解 `@PreAuthorize` 来控制方法的访问权限。 例如: ```java @RestController @RequestMapping("/admin") public class AdminController { @GetMapping("/hello") @PreAuthorize("hasRole('ADMIN')") public String helloAdmin() { return "Hello, Admin!"; } } ``` 上述代码中,`@PreAuthorize("hasRole('ADMIN')")` 注解用于控制该方法只能被具有 ADMIN 角色的用户访问。 以上就是在 Spring Boot整合 Spring Security 的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值