spring总结(十二)--spring通过注释配置bean(1)补充过滤器内容

spring总结(十二)--spring通过注释配置bean(1)补充

主要是对beans-annotation.xml配置文件做一下更加详细的说明

目录

resource-pattern属性

可以过滤特定的类,图中表示只扫描repository的类

此时再获取其他bean就会报错了

只获取userRepository就可以了

过滤器介绍

子节点+annotation属性

子节点+annotation属性

子节点+assignabel属性

子节点+assignabel属性


resource-pattern属性

可以过滤特定的类,图中表示只扫描repository的类

此时再获取其他bean就会报错了

只获取userRepository就可以了

 

过滤器介绍

一般只是使用annotation与assinabel

 

<context:exclude-filter>子节点+annotation属性

context:exclude-filter该子节点表示要排除在外的目标类

annotation属性指所有使用了xxx标注的类(这句话不知道正确不),

下图中表示:不包含使用了repository注释的类

这时在ioc容器中就获取不到userRepository的bean了

<context:include-filter>子节点+annotation属性

context:include-filter该子节点表示要包含的目标类

annotation属性指所有使用了xxx标注的类(这句话不知道正确不),

下图中表示:只扫描使用了Repository注释的类,其他注释的类不能被ioc容器加载

此时获取testObjec的bean是会报错了 

<context:exclude-filter>子节点+assignabel属性

context:exclude-filter该子节点表示要排除在外的目标类

assignabel属性指所有实现了该接口的类

下图中表示:不包括,实现了UserRepository接口的所有的类

此时再去获取userPepository的bean是会报错的

<context:include-filter>子节点+assignabel属性

context:include-filter该子节点表示只包含目标类

assignabel属性指所有实现了该接口的类

下图中表示:只包括,实现了UserRepository接口的所有的类

获取testObject会报错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的Spring Security单点登录的示例代码,包括注释。该代码使用基于内存的用户存储和基于JWT的身份验证。 ```java @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired private JwtTokenProvider jwtTokenProvider; // 在内存中配置用户 @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication() .withUser("user1").password("{noop}password1").roles("USER") .and() .withUser("user2").password("{noop}password2").roles("USER"); } // 配置Spring Security过滤器链 @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().disable() .authorizeRequests() .antMatchers("/login").permitAll() // 不需要身份验证的URL .anyRequest().authenticated() // 其他URL需要身份验证 .and() .formLogin() .loginPage("/login") // 登录页面 .defaultSuccessUrl("/home") // 登录成功后的默认URL .permitAll() .and() .logout() .logoutSuccessUrl("/login") // 登出成功后的URL .permitAll() .and() .apply(new JwtConfigurer(jwtTokenProvider)); // 应用基于JWT的身份验证过滤器 } // 配置密码编码器 @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } } ``` 在上面的代码中,`JwtTokenProvider`是一个自定义的类,用于创建和验证JWT令牌。这里不再提供其代码。 `configure(AuthenticationManagerBuilder auth)`方法配置内存中的用户。在此示例中,我们为用户“user1”和“user2”分别设置了用户名和密码,并为它们分配了角色“USER”。 `configure(HttpSecurity http)`方法配置Spring Security过滤器链。我们使用`csrf().disable()`禁用CSRF保护,因为我们的示例不包括CSRF令牌的生成和验证。我们使用`authorizeRequests()`配置请求授权规则。在这个例子中,我们允许所有用户访问`/login`URL,但是对于其他所有URL,用户都必须进行身份验证。`formLogin()`方法配置了一个自定义的登录页面,以及登录成功后的默认URL。`logout()`方法配置了一个登出URL,并指定了成功登出后要跳转的URL。 最后,我们使用`apply()`方法将基于JWT的身份验证过滤器添加到过滤器链中。`JwtConfigurer`是一个自定义的类,它实现了`org.springframework.security.config.annotation.SecurityConfigurer`接口。在`configure()`方法中,我们使用`JwtConfigurer`类将JWT身份验证过滤器添加到过滤器链中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值