spring ioc容器中的bean对象和我们普通创建的对象是不一样的,有时候我们需要把自己创建的对象转换成bean对象,或者加入到ioc容器中,让spring帮我们管理,怎么办
一、 通过 @Bean注解,示例:
@Configuration
public class RedisConfig {@SuppressWarnings({ "rawtypes", "unchecked" })@Beanpublic RedisTemplate redisTemplate(JedisConnectionFactory jedisConnectionFactory) {RedisTemplate template = new StringRedisTemplate(jedisConnectionFactory);template.setDefaultSerializer(new GenericJackson2JsonRedisSerializer());template.setKeySerializer(new StringRedisSerializer());template.setHashKeySerializer(new GenericJackson2JsonRedisSerializer());template.setValueSerializer(new GenericJackson2JsonRedisSerializer());return template;}
}
上面我们new 出来的RedisTemplate 对象,交由spring管理,在ioc容器中这个bean的beanname是 redisTemplate, 其实就是方法名
二、 通过 BeanDefinition
在spring启动的时候,将Class 转换成 BeanDefinition,交由spring接管,也能创建出 bean对象
目前正在画图中,要画一些spring bean实例化初始化的图,才能更好的让大家理解这种方式
本文发布于:2024-01-30 14:51:25,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170659748620790.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |