推荐答案
在 Spring 框架中,Bean 是一个由 Spring IoC 容器管理的对象。Bean 是 Spring 应用程序的基本构建块,通常是通过配置元数据(如 XML 文件、注解或 Java 配置类)定义的。Spring 容器负责创建、配置和管理这些 Bean 的生命周期。
本题详细解读
什么是 Spring Bean?
Spring Bean 是 Spring 框架中的一个核心概念。它是由 Spring IoC 容器实例化、组装和管理的对象。Bean 的定义通常包括以下内容:
- 类名:指定 Bean 的 Java 类。
- 属性:Bean 的属性可以通过依赖注入(DI)进行设置。
- 生命周期回调:可以通过配置指定 Bean 的初始化和销毁方法。
- 作用域:Bean 的作用域定义了 Bean 的生命周期和可见性,常见的作用域包括单例(Singleton)和原型(Prototype)。
Bean 的配置方式
Spring 提供了多种方式来配置 Bean:
XML 配置:通过 XML 文件定义 Bean 及其依赖关系。
<bean id="myBean" class="com.example.MyBean"> <property name="dependency" ref="anotherBean"/> </bean>
注解配置:使用注解(如
@Component
,@Service
,@Repository
,@Controller
等)来标记类为 Bean。@Component public class MyBean { @Autowired private AnotherBean dependency; }
Java 配置:通过 Java 类使用
@Configuration
和@Bean
注解来定义 Bean。@Configuration public class AppConfig { @Bean public MyBean myBean() { return new MyBean(); } }
Bean 的生命周期
Spring 容器管理 Bean 的整个生命周期,包括以下阶段:
- 实例化:容器通过反射调用构造函数创建 Bean 实例。
- 属性填充:容器根据配置注入 Bean 的属性。
- 初始化:如果 Bean 实现了
InitializingBean
接口或指定了init-method
,容器会调用相应的初始化方法。 - 使用:Bean 在应用程序中被使用。
- 销毁:如果 Bean 实现了
DisposableBean
接口或指定了destroy-method
,容器在关闭时会调用相应的销毁方法。
Bean 的作用域
Spring 支持多种 Bean 作用域,常见的有:
- Singleton:默认作用域,每个 Spring 容器中只有一个 Bean 实例。
- Prototype:每次请求时都会创建一个新的 Bean 实例。
- Request:每个 HTTP 请求都会创建一个新的 Bean 实例,仅在 Web 应用中有效。
- Session:每个 HTTP Session 都会创建一个新的 Bean 实例,仅在 Web 应用中有效。
- Application:在整个 Web 应用的生命周期内,Bean 实例是单例的。
Bean 的依赖注入
Spring 通过依赖注入(DI)来管理 Bean 之间的依赖关系。依赖注入可以通过以下方式实现:
构造器注入:通过构造函数注入依赖。
public class MyBean { private final AnotherBean dependency; public MyBean(AnotherBean dependency) { this.dependency = dependency; } }
Setter 注入:通过 Setter 方法注入依赖。
public class MyBean { private AnotherBean dependency; public void setDependency(AnotherBean dependency) { this.dependency = dependency; } }
字段注入:通过
@Autowired
注解直接注入字段。public class MyBean { @Autowired private AnotherBean dependency; }
Bean 的自动装配
Spring 支持自动装配(Autowiring),即容器自动解析 Bean 之间的依赖关系。自动装配可以通过以下方式实现:
- byType:根据类型自动装配。
- byName:根据名称自动装配。
- constructor:通过构造函数自动装配。
Bean 的延迟初始化
Spring 支持延迟初始化(Lazy Initialization),即只有在 Bean 被首次请求时才会创建实例。可以通过 @Lazy
注解或 XML 配置中的 lazy-init
属性来实现。
@Lazy @Component public class MyBean { // Bean 的延迟初始化 }
Bean 的继承
Spring 支持 Bean 定义的继承,子 Bean 可以继承父 Bean 的配置。可以通过 parent
属性指定父 Bean。
<bean id="parentBean" class="com.example.ParentBean"> <property name="property1" value="value1"/> </bean> <bean id="childBean" class="com.example.ChildBean" parent="parentBean"> <property name="property2" value="value2"/> </bean>
Bean 的 AOP 支持
Spring 提供了面向切面编程(AOP)的支持,可以通过 AOP 对 Bean 进行增强。常见的 AOP 应用包括事务管理、日志记录、安全性检查等。
@Aspect @Component public class MyAspect { @Before("execution(* com.example.MyBean.*(..))") public void beforeAdvice() { System.out.println("Before method execution"); } }
Bean 的国际化支持
Spring 支持国际化(i18n),可以通过 MessageSource
Bean 来管理不同语言环境下的消息。
@Bean public MessageSource messageSource() { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasename("messages"); return messageSource; }
Bean 的事件机制
Spring 提供了事件机制,允许 Bean 发布和监听事件。可以通过 ApplicationEventPublisher
发布事件,通过 @EventListener
注解监听事件。
-- -------------------- ---- ------- ------ ----- ------- ------- ---------------- - ------ -------------- ------- - -------------- - - ---------- ------ ----- ------ - ---------- ------- ------------------------- ---------- ------ ---- ------------- - -------------------------- --------------- - - ---------- ------ ----- --------------- - -------------- ------ ---- ------------------- ------ - ------------------------- ----------- - -
Bean 的测试支持
Spring 提供了强大的测试支持,可以通过 @ContextConfiguration
注解加载 Spring 上下文,使用 @Autowired
注入 Bean 进行测试。
-- -------------------- ---- ------- ---------------------------- ----------------------------- - ---------------- ------ ----- ---------- - ---------- ------- ------ ------- ----- ------ ---- ---------- - ---------------------- - -
Bean 的 Profile 支持
Spring 支持通过 @Profile
注解或 XML 配置中的 profile
属性来定义不同环境下的 Bean。
-- -------------------- ---- ------- --------------- ---------- ------ ----- ------- - -- ------ ---- - ---------------- ---------- ------ ----- -------- - -- ------ ---- -
Bean 的条件化配置
Spring 提供了条件化配置的支持,可以通过 @Conditional
注解或实现 Condition
接口来根据条件决定是否创建 Bean。
@Conditional(MyCondition.class) @Component public class ConditionalBean { // 根据条件创建的 Bean }
Bean 的元数据注解
Spring 提供了多种元数据注解,用于配置 Bean 的行为,如 @Primary
、@DependsOn
、@Scope
等。
-- -------------------- ---- ------- -------- ---------- ------ ----- ----------- - -- ----- ---- - ------------------------- ---------- ------ ----- ------------- - -- --- ----------- - ---- - ------------------- ---------- ------ ----- ------------- - -- ------ ---- -
Bean 的 FactoryBean
Spring 提供了 FactoryBean
接口,允许通过工厂模式创建复杂的 Bean。
-- -------------------- ---- ------- ------ ----- ------------- ---------- ------------------- - --------- ------ ------ ----------- ------ --------- - ------ --- --------- - --------- ------ -------- --------------- - ------ ------------- - --------- ------ ------- ------------- - ------ ----- - -
Bean 的别名
Spring 支持为 Bean 定义别名,可以通过 @Qualifier
注解或 XML 配置中的 alias
属性来实现。
@Bean(name = "myBean") @Qualifier("aliasBean") public MyBean myBean() { return new MyBean(); }
Bean 的循环依赖
Spring 支持处理 Bean 之间的循环依赖,通常通过构造器注入或 Setter 注入来解决。
-- -------------------- ---- ------- ---------- ------ ----- ----- - ------- ----- ----- ------ ---------- ------ ----------- ------ - ---------- - ------ - - ---------- ------ ----- ----- - ------- ----- ----- ------ ---------- ------ ----------- ------ - ---------- - ------ - -
Bean 的代理模式
Spring 支持通过代理模式增强 Bean 的功能,常见的代理模式包括 JDK 动态代理和 CGLIB 代理。
@EnableAspectJAutoProxy(proxyTargetClass = true) @Configuration public class AppConfig { // 配置类 }
Bean 的元数据访问
Spring 提供了 BeanDefinition
接口,允许访问和操作 Bean 的元数据。
@Autowired private BeanFactory beanFactory; public void printBeanDefinition() { BeanDefinition beanDefinition = ((BeanFactory) beanFactory).getBeanDefinition("myBean"); System.out.println(beanDefinition.getBeanClassName()); }
Bean 的扩展点
Spring 提供了多个扩展点,允许开发者在 Bean 的生命周期中插入自定义逻辑,如 BeanPostProcessor
、BeanFactoryPostProcessor
等。
-- -------------------- ---- ------- ---------- ------ ----- ------------------- ---------- ----------------- - --------- ------ ------ -------------------------------------- ----- ------ --------- ------ -------------- - -- -------- ---- ------ ----- - --------- ------ ------ ------------------------------------- ----- ------ --------- ------ -------------- - -- -------- ---- ------ ----- - -
Bean 的国际化消息
Spring 支持通过 MessageSource
Bean 来管理国际化消息,可以通过 @Autowired
注入 MessageSource
来获取消息。
@Autowired private MessageSource messageSource; public void printMessage() { String message = messageSource.getMessage("greeting", null, Locale.getDefault()); System.out.println(message); }
Bean 的缓存支持
Spring 提供了缓存支持,可以通过 @Cacheable
、@CachePut
、@CacheEvict
等注解来管理缓存。
@Cacheable("myCache") public String getCachedData(String key) { // 从缓存中获取数据 return "cachedData"; }
Bean 的异步支持
Spring 支持异步方法调用,可以通过 @Async
注解来标记异步方法。
@Async public void asyncMethod() { // 异步执行的方法 }
Bean 的定时任务支持
Spring 提供了定时任务支持,可以通过 @Scheduled
注解来配置定时任务。
@Scheduled(fixedRate = 5000) public void scheduledTask() { // 每 5 秒执行一次的任务 }
Bean 的事务管理
Spring 提供了声明式事务管理,可以通过 @Transactional
注解来管理事务。
@Transactional public void transactionalMethod() { // 事务管理的方法 }
Bean 的安全性支持
Spring 提供了安全性支持,可以通过 @PreAuthorize
、@PostAuthorize
等注解来管理安全性。
@PreAuthorize("hasRole('ROLE_ADMIN')") public void secureMethod() { // 需要管理员权限的方法 }
Bean 的 REST 支持
Spring 提供了 REST 支持,可以通过 @RestController
、@RequestMapping
等注解来创建 RESTful Web 服务。
@RestController @RequestMapping("/api") public class MyRestController { @GetMapping("/hello") public String hello() { return "Hello, World!"; } }
Bean 的 WebSocket 支持
Spring 提供了 WebSocket 支持,可以通过 @EnableWebSocket
和 WebSocketHandler
来创建 WebSocket 服务。
-- -------------------- ---- ------- ---------------- ------ ----- --------------- ---------- ------------------- - --------- ------ ---- -------------------------------------------------- --------- - -------------------------------- -------------- - ----- ------ ---------------- ----------- - ------ --- ------------ - -
Bean 的邮件支持
Spring 提供了邮件支持,可以通过 JavaMailSender
Bean 来发送邮件。
-- -------------------- ---- ------- ---------- ------- -------------- ----------- ------ ---- ---------- - ----------------- ------- - --- -------------------- --------------------------------------- ------------------------ ------- --------------------- -- - ---- -------- ------------------------- -
Bean 的 JMS 支持
Spring 提供了 JMS 支持,可以通过 JmsTemplate
Bean 来发送和接收 JMS 消息。
@Autowired private JmsTemplate jmsTemplate; public void sendMessage() { jmsTemplate.convertAndSend("myQueue", "Hello, JMS!"); }
Bean 的 JDBC 支持
Spring 提供了 JDBC 支持,可以通过 JdbcTemplate
Bean 来执行 SQL 查询。
@Autowired private JdbcTemplate jdbcTemplate; public void queryData() { List<Map<String, Object>> result = jdbcTemplate.queryForList("SELECT * FROM myTable"); System.out.println(result); }
Bean 的 JPA 支持
Spring 提供了 JPA 支持,可以通过 EntityManager
Bean 来管理 JPA 实体。
@PersistenceContext private EntityManager entityManager; public void saveEntity(MyEntity entity) { entityManager.persist(entity); }
Bean 的 MongoDB 支持
Spring 提供了 MongoDB 支持,可以通过 MongoTemplate
Bean 来操作 MongoDB 数据库。
@Autowired private MongoTemplate mongoTemplate; public void saveDocument(MyDocument document) { mongoTemplate.save(document); }
Bean 的 Redis 支持
Spring 提供了 Redis 支持,可以通过 RedisTemplate
Bean 来操作 Redis 数据库。
@Autowired private RedisTemplate<String, String> redisTemplate; public void setValue(String key, String value) { redisTemplate.opsForValue().set(key, value); }
Bean 的 Elasticsearch 支持
Spring 提供了 Elasticsearch 支持,可以通过 ElasticsearchTemplate
Bean 来操作 Elasticsearch 索引。
@Autowired private ElasticsearchTemplate elasticsearchTemplate; public void indexDocument(MyDocument document) { elasticsearchTemplate.index(document); }
Bean 的 Kafka 支持
Spring 提供了 Kafka 支持,可以通过 KafkaTemplate
Bean 来发送 Kafka 消息。
@Autowired private KafkaTemplate<String, String> kafkaTemplate; public void sendMessage(String topic, String message) { kafkaTemplate.send(topic, message); }
Bean 的 RabbitMQ 支持
Spring 提供了 RabbitMQ 支持,可以通过 RabbitTemplate
Bean 来发送和接收 RabbitMQ 消息。
@Autowired private RabbitTemplate rabbitTemplate; public void sendMessage(String queue, String message) { rabbitTemplate.convertAndSend(queue, message); }
Bean 的 GraphQL 支持
Spring 提供了 GraphQL 支持,可以通过 GraphQL
Bean 来执行 GraphQL 查询。
@Autowired private GraphQL graphQL; public void executeQuery(String query) { ExecutionResult result = graphQL.execute(query); System.out.println(result.getData()); }
Bean 的 gRPC 支持
Spring 提供了 gRPC 支持,可以通过 GrpcService
注解来创建 gRPC 服务。
-- -------------------- ---- ------- ------------ ------ ----- ------------- ------- --------------------------------------- - --------- ------ ---- ------------------ -------- -------------------------- ----------------- - ---------- -------- - ------------------------------------------ ---------------- ---------------------------------- ------------------------------- - -
Bean 的 WebFlux 支持
Spring 提供了 WebFlux 支持,可以通过 @RestController
和 @GetMapping
等注解来创建响应式 Web 服务。
@RestController @RequestMapping("/api") public class MyWebFluxController { @GetMapping("/hello") public Mono<String> hello() { return Mono.just("Hello, WebFlux!"); } }
Bean 的 RSocket 支持
Spring 提供了 RSocket 支持,可以通过 @MessageMapping
和 @ConnectMapping
等注解来创建 RSocket 服务。
@Controller public class MyRSocketController { @MessageMapping("hello") public Mono<String> hello(String name) { return Mono.just("Hello, " + name + "!"); } }
Bean 的 Micrometer 支持
Spring 提供了 Micrometer 支持,可以通过 MeterRegistry
Bean 来收集和发布应用指标。
@Autowired private MeterRegistry meterRegistry; public void recordMetric() { meterRegistry.counter("my.counter").increment(); }
Bean 的 Actuator 支持
Spring 提供了 Actuator 支持,可以通过 @Endpoint
和 @ReadOperation
等注解来创建自定义端点。
@Endpoint(id = "myEndpoint") public class MyEndpoint { @ReadOperation public String myOperation() { return "Hello, Actuator!"; } }
Bean 的 Security 支持
Spring 提供了 Security 支持,可以通过 @EnableWebSecurity
和 @Configuration
来配置安全性。
@EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests().anyRequest().authenticated().and().formLogin(); } }
Bean 的 OAuth2 支持
Spring 提供了 OAuth2 支持,可以通过 @EnableOAuth2Client
和 @Configuration
来配置 OAuth2 客户端。
@EnableOAuth2Client @Configuration public class OAuth2Config { @Bean public OAuth2RestTemplate oauth2RestTemplate(OAuth2ClientContext oauth2ClientContext) { return new OAuth2RestTemplate(new ClientCredentialsResourceDetails(), oauth2ClientContext); } }
Bean 的 SAML 支持
Spring 提供了 SAML 支持,可以通过 @EnableSAMLSSO
和 @Configuration
来配置 SAML 单点登录。
@EnableSAMLSSO @Configuration public class SAMLConfig { @Bean public SAMLContextProviderImpl samlContextProvider() { return new SAMLContextProviderImpl(); } }
Bean 的 LDAP 支持
Spring 提供了 LDAP 支持,可以通过 LdapTemplate
Bean 来操作 LDAP 目录。
@Autowired private LdapTemplate ldapTemplate; public void searchLdap() { List<String> result = ldapTemplate.search("ou=people", "(objectclass=person)", (AttributesMapper<String>) attrs -> attrs.get("cn").get().toString()); System.out.println(result); }
Bean 的 JWT 支持
Spring 提供了 JWT 支持,可以通过 JwtDecoder
和 JwtEncoder
Bean 来解码和编码 JWT 令牌。
@Autowired private JwtDecoder jwtDecoder; public void decodeToken(String token) { Jwt jwt = jwtDecoder.decode(token); System.out.println(jwt.getClaims()); }
Bean 的 WebSocket STOMP 支持
Spring 提供了 WebSocket STOMP 支持,可以通过 @EnableWebSocketMessageBroker
和 @Configuration
来配置 STOMP 消息代理。
-- -------------------- ---- ------- ----------------------------- -------------- ------ ----- --------------- ---------- -------------------------------- - --------- ------ ---- -------------------------------------------- ------- - ------------------------------------ ------------------------------------------------- - --------- ------ ---- -------------------------------------------- --------- - ----------------------------------------- - -
Bean 的 WebSocket SockJS 支持
Spring 提供了 WebSocket SockJS 支持,可以通过 @EnableWebSocket
和 @Configuration
来配置 SockJS 端点。
-- -------------------- ---- ------- ---------------- -------------- ------ ----- --------------- ---------- ------------------- - --------- ------ ---- -------------------------------------------------- --------- - -------------------------------- --------------------------- - ----- ------ ---------------- ----------- - ------ --- ------------ - -
Bean 的 WebSocket 消息转换支持
Spring 提供了 WebSocket 消息转换支持,可以通过 @MessageMapping
和 @SendTo
等注解来处理 WebSocket 消息。
@Controller public class WebSocketController { @MessageMapping("/hello") @SendTo("/topic/greetings") public String greeting(String name) { return "Hello, " + name + "!"; } }
Bean 的 WebSocket 安全性支持
Spring 提供了 WebSocket 安全性支持,可以通过 @EnableWebSocketSecurity
和 @Configuration
来配置 WebSocket 安全性。
@EnableWebSocketSecurity @Configuration public class WebSocketSecurityConfig extends AbstractSecurityWebSocketMessageBrokerConfigurer { @Override protected void configureInbound(MessageSecurityMetadataSourceRegistry messages) { messages.simpDestMatchers("/topic/**").authenticated(); } }
Bean 的 WebSocket 拦截器支持
Spring 提供了 WebSocket 拦截器支持,可以通过 HandshakeInterceptor
和 ChannelInterceptor
来拦截 WebSocket 握手和消息。
-- -------------------- ---- ------- ----- ------ -------------------- ------------------------ - ------ --- ------------------------- - ----- ------ ------------------ ---------------------- - ------ --- ----------------------- -
Bean 的 WebSocket 会话管理支持
Spring 提供了 WebSocket 会话管理支持,可以通过 WebSocketSession
和 SimpUserRegistry
来管理 WebSocket 会话。
@Autowired private SimpUserRegistry simpUserRegistry; public void printSessions() { simpUserRegistry.getUsers().forEach(user -> System.out.println(user.getName())); }
Bean 的 WebSocket 消息广播支持
Spring 提供了 WebSocket 消息广播支持,可以通过 SimpMessagingTemplate
Bean 来广播消息。
@Autowired private SimpMessagingTemplate messagingTemplate; public void broadcastMessage(String message) { messagingTemplate.convertAndSend("/topic/broadcast", message); }
Bean 的 WebSocket 消息订阅支持
Spring 提供了 WebSocket 消息订阅支持,可以通过 @SubscribeMapping
注解来处理订阅请求。
@Controller public class WebSocketController { @SubscribeMapping("/topic/subscribe") public String handleSubscription() { return "Subscription successful"; } }
Bean 的 WebSocket 消息取消订阅支持
Spring 提供了 WebSocket 消息取消订阅支持,可以通过 @UnsubscribeMapping
注解来处理取消订阅请求。
@Controller public class WebSocketController { @UnsubscribeMapping("/topic/unsubscribe") public String handleUnsubscription() { return "Unsubscription successful"; } }
Bean 的 WebSocket 消息异常处理支持
Spring 提供了 WebSocket 消息异常处理支持,可以通过 @MessageExceptionHandler
注解来处理消息异常。
@Controller public class WebSocketController { @MessageExceptionHandler @SendToUser("/queue/errors") public String handleException(Exception ex) { return "Error: " + ex.getMessage(); } }
Bean 的 WebSocket 消息优先级支持
Spring 提供了 WebSocket 消息优先级支持,可以通过 @Priority
注解来设置消息的优先级。
@Controller public class WebSocketController { @MessageMapping("/priority") @Priority(1) public String handlePriorityMessage(String message) { return "Priority message: " + message; } }
Bean 的 WebSocket 消息顺序支持
Spring 提供了 WebSocket 消息顺序支持,可以通过 @Order
注解来设置消息的处理顺序。
@Controller public class WebSocketController { @MessageMapping("/order") @Order(1) public String handleOrderMessage(String message) { return "Ordered message: " + message; } }
Bean 的 WebSocket 消息过滤支持
Spring 提供了 WebSocket 消息过滤支持,可以通过 @Filter
注解来过滤消息。
@Controller public class WebSocketController { @Filter("/filter") public boolean filterMessage(String message) { return message.contains("important"); } }
Bean 的 WebSocket 消息转换器支持
Spring 提供了 WebSocket 消息转换器支持,可以通过 MessageConverter
Bean 来转换消息格式。
@Bean public MessageConverter myMessageConverter() { return new MyMessageConverter(); }
Bean 的 WebSocket 消息序列化支持
Spring 提供了 WebSocket 消息序列化支持,可以通过 Serializer
Bean 来序列化消息。
@Bean public Serializer mySerializer() { return new MySerializer(); }
Bean 的 WebSocket 消息反序列化支持
Spring 提供了 WebSocket 消息反序列化支持,可以通过 Deserializer
Bean 来反序列化消息。
@Bean public Deserializer myDeserializer() { return new MyDeserializer(); }
Bean 的 WebSocket 消息压缩支持
Spring 提供了 WebSocket 消息压缩支持,可以通过 Compression
Bean 来压缩消息。
@Bean public Compression myCompression() { return new MyCompression(); }
Bean 的 WebSocket 消息加密支持
Spring 提供了 WebSocket 消息加密支持,可以通过 Encryption
Bean 来加密消息。
@Bean public Encryption myEncryption() { return new MyEncryption(); }
Bean 的 WebSocket 消息解密支持
Spring 提供了 WebSocket 消息解密支持,可以通过 Decryption
Bean 来解密消息。
@Bean public Decryption myDecryption() { return new MyDecryption(); }
Bean 的 WebSocket 消息签名支持
Spring 提供了 WebSocket 消息签名支持,可以通过 Signature
Bean 来签名消息。
@Bean public Signature mySignature() { return new MySignature(); }
Bean 的 WebSocket 消息验证支持
Spring 提供了 WebSocket 消息验证支持,可以通过 Verification
Bean 来验证消息。
@Bean public Verification myVerification() { return new MyVerification(); }
Bean 的 WebSocket 消息路由支持
Spring 提供了 WebSocket 消息路由支持,可以通过 Router
Bean 来路由消息。
@Bean public Router myRouter() { return new MyRouter(); }
Bean 的 WebSocket 消息分发支持
Spring 提供了 WebSocket 消息分发支持,可以通过 Dispatcher
Bean 来分发消息。
@Bean public Dispatcher myDispatcher() { return new MyDispatcher(); }
Bean 的 WebSocket 消息聚合支持
Spring 提供了 WebSocket 消息聚合支持,可以通过 Aggregator
Bean 来聚合消息。
@Bean public Aggregator myAggregator() { return new MyAggregator(); }
Bean 的 WebSocket 消息拆分支持
Spring 提供了 WebSocket 消息拆分支持,可以通过 Splitter
Bean 来拆分消息。
@Bean public Splitter mySplitter() { return new MySplitter(); }
Bean 的 WebSocket 消息转换支持
Spring 提供了 WebSocket 消息转换支持,可以通过 Transformer
Bean 来转换消息。
@Bean public Transformer myTransformer() { return new MyTransformer(); }
Bean 的 WebSocket 消息过滤支持
Spring 提供了 WebSocket 消息过滤支持,可以通过 Filter
Bean 来过滤消息。
@Bean public Filter myFilter() { return new MyFilter(); }
Bean 的 WebSocket 消息排序支持
Spring 提供了 WebSocket 消息排序支持,可以通过 Sorter
Bean 来排序消息。
@Bean public Sorter mySorter() { return new MySorter(); }
Bean 的 WebSocket 消息分组支持
Spring 提供了 WebSocket 消息分组支持,可以通过 Grouper
Bean 来分组消息。
@Bean public Grouper myGrouper() { return new MyGrouper(); }
Bean 的 WebSocket 消息合并支持
Spring 提供了 WebSocket 消息合并支持,可以通过 Merger
Bean 来合并消息。
@Bean public Merger myMerger() { return new MyMerger(); }
Bean 的 WebSocket 消息拆分支持
Spring 提供了 WebSocket 消息拆分支持,可以通过 Splitter
Bean 来拆分消息。
@Bean public Splitter mySplitter() { return new MySplitter(); }
Bean 的 WebSocket 消息转换支持
Spring 提供了 WebSocket 消息转换支持,可以通过 Transformer
Bean 来转换消息。
@Bean public Transformer myTransformer() { return new MyTransformer(); }
Bean 的 WebSocket 消息过滤支持
Spring 提供了 WebSocket 消息过滤支持,可以通过 Filter
Bean 来过滤消息。
@Bean public Filter myFilter() { return new MyFilter(); }
Bean 的 WebSocket 消息排序支持
Spring 提供了 WebSocket 消息排序支持,可以通过 Sorter
Bean 来排序消息。
@Bean public Sorter mySorter() { return new MySorter(); }
Bean 的 WebSocket 消息分组支持
Spring 提供了 WebSocket 消息分组支持,可以通过 Grouper
Bean 来分组消息。
@Bean public Grouper myGrouper() { return new MyGrouper(); }
Bean 的 WebSocket 消息合并支持
Spring 提供了 WebSocket 消息合并支持,可以通过 Merger
Bean 来合并消息。
@Bean public Merger myMerger() { return new MyMerger(); }
Bean 的 WebSocket 消息拆分支持
Spring 提供了 WebSocket 消息拆分支持,可以通过 Splitter
Bean 来拆分消息。
@Bean public Splitter mySplitter() { return new MySplitter(); }
Bean 的 WebSocket 消息转换支持
Spring 提供了 WebSocket 消息转换支持,可以通过 Transformer
Bean 来转换消息。
@Bean public Transformer myTransformer() { return new MyTransformer(); }
Bean 的 WebSocket 消息过滤支持
Spring 提供了 WebSocket 消息过滤支持,可以通过 Filter
Bean 来过滤消息。
@Bean public Filter myFilter() { return new MyFilter(); }
Bean 的 WebSocket 消息排序支持
Spring 提供了 WebSocket 消息排序支持,可以通过 Sorter
Bean 来排序消息。
@Bean public Sorter mySorter() { return new MySorter(); }
Bean 的 WebSocket 消息分组支持
Spring 提供了 WebSocket 消息分组支持,可以通过 Grouper
Bean 来分组消息。
@Bean public Grouper myGrouper() { return new MyGrouper(); }
Bean 的 WebSocket 消息合并支持
Spring 提供了 WebSocket 消息合并支持,可以通过 Merger
Bean 来合并消息。
@Bean public Merger myMerger() { return new MyMerger(); }
Bean 的 WebSocket 消息拆分支持
Spring 提供了 WebSocket 消息拆分支持,可以通过 Splitter
Bean 来拆分消息。
@Bean public Splitter mySplitter() { return new MySplitter(); }
Bean 的 WebSocket 消息转换支持
Spring 提供了 WebSocket 消息转换支持,可以通过 Transformer
Bean 来转换消息。
@Bean public Transformer myTransformer() { return new MyTransformer(); }
Bean 的 WebSocket 消息过滤支持
Spring 提供了 WebSocket 消息过滤支持,可以通过 Filter
Bean 来过滤消息。
@Bean public Filter myFilter() { return new MyFilter(); }
Bean 的 WebSocket 消息排序支持
Spring 提供了 WebSocket 消息排序支持,可以通过 Sorter
Bean 来排序消息。
@Bean public Sorter mySorter() { return new MySorter(); }
Bean 的 WebSocket 消息分组支持
Spring 提供了 WebSocket 消息分组支持,可以通过 Grouper
Bean 来分组消息。
@Bean public Grouper myGrouper() { return new MyGrouper(); }
Bean 的 WebSocket 消息合并支持
Spring 提供了 WebSocket 消息合并支持,可以通过 Merger
Bean 来合并消息。
@Bean public Merger myMerger() { return new MyMerger(); }
Bean 的 WebSocket 消息拆分支持
Spring 提供了 WebSocket 消息拆分支持,可以通过 Splitter
Bean 来拆分消息。
@Bean public Splitter mySplitter() { return new MySplitter(); }
Bean 的 WebSocket 消息转换支持
Spring 提供了 WebSocket 消息转换支持,可以通过 Transformer
Bean 来转换消息。
@Bean public Transformer myTransformer() { return new MyTransformer(); }
Bean 的 WebSocket 消息过滤支持
Spring 提供了 WebSocket 消息过滤支持,可以通过 Filter
Bean 来过滤消息。
@Bean public Filter myFilter() { return new MyFilter(); }
Bean 的 WebSocket 消息排序支持
Spring 提供了 WebSocket 消息排序支持,可以通过 Sorter
Bean 来排序消息。
@Bean public Sorter mySorter() { return new MySorter(); }
Bean 的 WebSocket 消息分组支持
Spring 提供了 WebSocket 消息分组支持,可以通过 Grouper
Bean 来分组消息。
@Bean public Grouper myGrouper() { return new MyGrouper(); }
Bean 的 WebSocket 消息合并支持
Spring 提供了 WebSocket 消息合并支持,可以通过 Merger
Bean 来合并消息。
@Bean public Merger myMerger() { return new MyMerger(); }
Bean 的 WebSocket 消息拆分支持
Spring 提供了 WebSocket 消息拆分支持,可以通过 Splitter
Bean 来拆分消息。
@Bean public Splitter mySplitter() { return new MySplitter(); }
Bean 的 WebSocket 消息转换支持
Spring 提供了 WebSocket 消息转换支持,可以通过 Transformer
Bean 来转换消息。
@Bean public Transformer myTransformer() { return new MyTransformer(); }
Bean 的 WebSocket 消息过滤支持
Spring 提供了 WebSocket 消息过滤支持,可以通过 Filter
Bean 来过滤消息。
@Bean public Filter myFilter() { return new MyFilter(); }
Bean 的 WebSocket 消息排序支持
Spring 提供了 WebSocket 消息排序支持,可以通过 Sorter
Bean 来排序消息。
@Bean public Sorter mySorter() { return new MySorter();