一, 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 Boot笔记中,我们将探讨Spring Boot的核心特性、如何创建一个简单的Spring Boot应用以及相关的Maven配置。Spring Boot是Spring框架的一个扩展,旨在简化Spring应用的初始搭建以及开发过程,提供了一种...
以上就是Spring Boot的一些核心概念和技术点,通过这些特性,Spring Boot降低了Spring应用的开发难度,提升了开发效率,是现代Java企业级应用开发的首选框架。希望这份学习笔记能帮助你深入理解和掌握Spring Boot的...
由于其易于配置、快速启动和易用性等优点,Spring Boot已经成为许多Java开发者选择用来构建RESTful服务、微服务和轻量级企业级应用的首选框架。 在学习Spring Boot的过程中,通常需要掌握以下知识点: 1. Spring ...
Spring Boot简化了Java企业级应用的开发过程,通过默认配置、起步依赖和“开箱即用”的特性,使得构建可运行的独立应用变得极其简单。这份笔记将帮助我们深入理解Spring Boot的核心机制,提升开发效率。 首先,我们...
Spring Boot和Spring Cloud是Java开发领域中的两大热门框架,它们为构建高效、便捷的企业级应用提供了强大的支持。本文将深入探讨这两个框架的核心概念、应用场景以及如何通过IntelliJ IDEA进行集成开发。 首先,...
读书笔记:《从企业级开发到云原生微服务Spring Boot 实战》随书代码
第13篇 Java企业级开发学习笔记(4.2)Spring Boot项目单元测试、热部署与原理分析,介绍了如何使用Spring Boot来实现单元测试、热部署和原理分析,包括创建Spring Boot项目、配置Spring Boot等步骤。 第14篇 Java...
【Spring Boot 使用笔记】 Spring Boot 是一款由 Pivotal 团队推出的框架,旨在简化 Spring 应用的初始搭建以及开发过程。它针对常见的企业级应用需求提供了开箱即用的功能,大大减少了开发者在配置、集成第三方库...
SpringCloud作为微服务架构的重要框架,广泛应用于现代企业的分布式系统开发中。这份笔记旨在帮助开发者理解和掌握SpringCloud的核心概念、组件以及实践方法。 在SpringCloud的学习中,首先需要了解的是SpringCloud...
在软件开发领域,Spring框架是Java企业级应用开发的基石,其强大的功能和易用性使其成为开发者们的首选。本篇学习笔记将深入探讨Spring框架的核心概念和技术,帮助你进一步理解和掌握这一强大的工具。 一、Spring...
Spring是一个开源的Java平台,它为创建企业级应用提供了全面的解决方案。Spring的核心特性可以用于任何Java应用程序,但其丰富的模块化结构特别适用于开发Web应用。Spring框架以其轻量级、依赖注入(DI)和面向切面...
Spring框架是Java开发中不可或缺的一部分,它以其IoC(控制反转)和AOP(面向切面编程)的核心特性,极大地简化了企业级应用的开发。本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程...
Spring框架是Java开发中的核心框架,它为构建企业级应用提供了全面的解决方案。Spring以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)而闻名,极大地简化了Java应用的...
《JavaEE开发的颠覆者SpringBoot实战》这本书深入探讨了...无论你是Java新手还是经验丰富的开发者,都能从中获益匪浅,理解Spring Boot如何改变JavaEE的开发方式,以及如何利用它来构建高效、稳定的现代企业应用。
Spring以其轻量级、模块化和强大的依赖注入特性而闻名,它简化了企业级Java应用的开发,并且鼓励面向切面(AOP)编程。达内教育(Tarena)作为知名的IT培训机构,提供了这套Spring的学习资料,包括笔记和PPT课件,...
首先,Spring框架是Java企业级应用开发中最广泛使用的轻量级框架,它提供了一个全面的基础设施,支持开发Java应用程序。Spring5作为最新版本,引入了诸多改进和新特性,以适应现代开发需求。 1. **依赖注入...
* Spring 框架是 Java 企业级应用程序的框架,提供了一个松散耦合的架构,帮助开发者更快速、更简洁地构建企业级应用程序。 * Spring 框架的主要特点是轻量级、灵活、可扩展、松散耦合等。 二、IoC(Inversion of ...