一, Spring Security
安全框架的二个概念:认证和授权.
1, 配置
加注解@EnableWebSecurity并继承WebSecurityConfigurerAdapter
e,g,
@Configuration
@EnableWebSecurity
public class xxxxx extends WebSecurityConfigurerAdapter{
@Override
protected void configure(HttpSecurity http) throws Exception{
//todo
}
}
2, 用户认证
在spring security里我们重写configure(AuthenticationManagerBuilder auth)来实现.
e.g.
内存中用户: auth.inMemoryAuthentication().withUser("xx").password("xx").roles("xxx")........
jdbc用户: auth.jdbcAuthentication().dataSources(dataSource); ......
备注: 对于通用的一般需要我们自定义实现UserDetailsService接口,再进行进一步获取用户认证
3,请求授权
Spring security 通过重写configure(HttpSecurity http) 方法来实现请求拦截.
可使用如下匹配器来匹配请求路径:
- antMatchers: 使用ant风格路径匹配
- regexMatchers: 使用正则表达式风格
4, Spring Boot的支持
Spring Boot针对Spring Security的自动配置在org.springframework.boot.autoconfigure.security包中
主要通过SecurityAutoConfiguration 和SecurityProperties来完成配置
SecurityProperties使用以"security"为前缀的属性配置/
e.g.
security.user.name=user #内存中用户默认账号
security.user.password=
security.user.role=
security.require-ssl=false #是否需要ssl支持
security.enable-csrf=false #是否开启"跨网站请求伪造"支持,默认关闭
security.basic.enabled=true
security.basic.realm=Spring
security.basic.path= # /**
security.basic.authorize-mode
.............
security.ignored=
.........
二, Spring Batch 批处理
Spring Batch用来处理大量数据操作的一个框架,主要用来读取大量数据,然后进一步处理后输出指定格式.
只需注册为Bean加上@EnableBatchProcessing即可
名 称 | 用 途 |
JobRepository | 用来注册Job的容器 |
JobLanucher | 用来启动job的接口 |
Job | 我们要实际执行的任务,包含一个或多个step |
Step | |
ItemReader | 用来读取数据的接口 |
ItemProcessor | 用来处理数据的接口 |
ItemWriter | 用来输出数据的接口 |
1, Job 监听
如果需要监听一个job的执行情况,我们需定义一个类实现JobExecutionListener
2, 计划任务
任务是通过JobLauncher的run方法来执行的, 因此我们只需在普通的计划任务方法中执行JobLauncher
的run方法.
3, 参数后置绑定
我们可以在JobParameters中绑定参数.
在Bean定义的时候使用@StepScope,然后通过@Value注入此参数
e.g.
JobParameters jobParameters = new JobParametersBuilder().
.addLong("time",xxx)
.addString("input.file.name", path);
JobLauncher.run(xx, jobParameters );
@Bean
@StepScope
public ItemReader<XXXX>
read(@Value("#{jobParameters['input.file.name']}") String pathToFile) throw Exception{
//TODO
.....
}
4, Spring Boot 的支持
源码在org.springframework.boot.autoconfigure.batch下
Spring.Boot提供如下配置:
spring.batch.job.names= job1, job2 #启动时执行,默认全部执行
spring.batch.job.enabled=true #是否自动执行, 默认true
spring.batch.initializer.enabled = true #是否初始化spring batch数据库,默认true
spring.batch.schema=
spring.batch.table-prefix= #设置spring batch的数据库表前缀
三, 异步消息
异步消息主要是为了系统间的通信.
所谓异步消息即消息发送者无所等待消息接受者的处理及返回,甚至无需关系消息是否发送成功
两个概念: 消息代理个目的地
两种形式: 队列和主题. 对于用于点对点, 主题用于发布订阅
1, 企业级消息代理
JMS的实现由activeMQ,HornerQ
AMQP: 也是一种消息代理的规范,不仅兼容JMS还支持跨语言跟平台,主要实现有RabbitMQ.
JMS ----> spring-jms : @JMSListener, @EnableJms
AMQP ----> spring-rabbit: @RabbitListener, @EnableRabbit
2, Spring Boot 的支持
源码位于: org.springframework.boot.autoconfigure.jms下
ActiveMQ的连接属性如下:
spring.activemq.broker-url=tcp://localhost:5555 #消息代理路径
spring.activemq.user=
spring.activemq.password=
spring.activemq.in-memory=true
spring.activemq.pooled=false
AMQP的配置属性如下:
spring.rabbitmq.host=localhost #服务器地址, 默认localhost
spring.rabbitmq.user=
spring.rabbitmq.password=
四, Spring Integration 系统集成
spring integration主要由 Message, Channel, Message Endpoint组成
1, Message
- 用来在不同部分之间的传递数据,由消息体和消息头组成
2, Channel
消息发送者发送消息到消息通道(Channel), 消息接受者从通道获取消息
1), 顶级接口
- MessageChannel: 消息通道的顶级接口
- PollableChannel:
- SubscribableChannel
2), 常用消息通道
- PublishSubscribeChannel
- QueueChannel
- PriorityChannel
- RendezvousChannel
- DirectChannel
- ExecutorChannel
3), 通道拦截器
4), Message Endpoint
- Channel Adapter
- Gateway
- Service Activator
- Router
- Filter
- Splitter
- Aggregator
- Enricher
- Transformer
- Bridge
相关推荐
Spring势如破竹,占据着Java领域轻量级开发的王者地位。随着Java语言的发展以及市场开发的需求,Spring推陈出新,推出了全新的Spring Boot框架。Spring Boot是Spring家族的一个子项目,其设计初衷是为了简化Spring...
仅供用户个人学习、研究、技术交流等非营业性使用
Spring Boot笔记
《Vue Spring Boot前后端分离开发实战》源码 Vue+Spring Boot前后端分离开发实战教学课件(PPT)
Spring Boot 教程、技术栈示例代码,快速简单上手教程。
基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring Boot + MySQL 开发的博客系统源码 基于 Spring ...
《Spring Boot 进阶笔记(详细全面) 中文PDF完整版.pdf》是一份非常实用的Spring Boot进阶学习资料,适用于已经掌握基础知识的开发者,希望深入学习Spring Boot框架的高级应用。 本资料主要包含了Spring Boot的高级...
主要内容如下: ①教学PPT ②配套视频 ③教学大纲 ④课后题答案 ⑤所有源码:chapter01-chapter09+blog_system(博客系统)
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot...
Spring Boot 是一个快速开发框架,可以迅速搭建出一套基于 Spring 框架体系的应用,是 Spring Cloud 的基础。 Spring Boot 开启了各种自动装配,从而简化代码的开发,不需要编写各种配置文件,只需要引入相关依赖就...
介绍:基于前后端分离开发方式,使用Spring Boot、vue等技术开发社团管理系统。 介绍:基于前后端分离开发方式,使用Spring Boot、vue等技术开发社团管理系统。 介绍:基于前后端分离开发方式,使用Spring Boot、...
SpringBoot企业级开发教程_源代码.zip
Spring Boot Vue前后端分离开发实战.pdf 上手简单,文档讲述清晰,实在好用。
java实战项目-基于Spring Boot微服务实现的企业级微信点餐系统(含教程) java实战项目-基于Spring Boot微服务实现的企业级微信点餐系统(含教程) java实战项目-基于Spring Boot微服务实现的企业级微信点餐系统(含教程)...
#slife spring boot 搭建的一个企业级快速开发脚手架。 ###技术栈 Spring Boot MySQL Freemark SiteMesh Shiro Bootstrap mybatis、mybatisPlus redis Activiti
spring-boot-web:web开发综合使用案例 spring-boot-mail:spring boot和邮件服务 spring-boot-mongodb:spring boot和mongodb的使用 spring-boot-multi-mongodb:spring boot和mongodb多数据源的使用 spring-boot-...
Spring Boot 学习笔记完整教程
获取Spring Boot 2微框架的可重用代码配方和代码段 了解Spring Boot 2如何与其他Spring API,工具和框架集成 ...使用Spring Boot集成企业服务以创建更复杂的Java应用程序 本书适用于经验丰富的Java和Spring程序员。
SpringBoot企业级开发教程教学大纲.pdfSpringBoot企业级开发教程教学大纲.pdfSpringBoot企业级开发教程教学大纲.pdfSpringBoot企业级开发教程教学大纲.pdfSpringBoot企业级开发教程教学大纲.pdfSpringBoot企业级开发...
尚硅谷Springboot笔记,Spring Boot 笔记.rar,希望可以帮助学习者,Spring Boot 笔记.rar