Java 正在SpringBoot中检查Redis@配置
运行spring boot应用程序时,是否有方法检查是否加载了@Configuration组件? 我在使用此应用程序时遇到一些“空指针”问题: 主类Java 正在SpringBoot中检查Redis@配置,java,spring,spring-boot,redis,Java,Spring,Spring Boot,Redis,运行spring boot应用程序时,是否有方法检查是否加载了@Configuration组件? 我在使用此应用程序时遇到一些“空指针”问题: 主类 @ComponentScan(basePackages = "com.pack") @EnableAutoConfiguration public class App { public static void main(String[] args) { SpringApplication.run(App.class, ar
@ComponentScan(basePackages = "com.pack")
@EnableAutoConfiguration
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
配置类
package com.pack.config;
@Configuration
public class DataBaseConfig {
@Bean
JedisConnectionFactory jedisConnFactory() {
return new JedisConnectionFactory();
}
@Bean
public StringRedisSerializer stringRedisSerializer() {
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
return stringRedisSerializer;
}
@Bean(name = "redisTemplate")
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate();
redisTemplate.setConnectionFactory(jedisConnFactory());
redisTemplate.setKeySerializer(stringRedisSerializer());
return redisTemplate;
}
}
package com.pack.config;
@配置
公共类数据库配置{
@豆子
JedisConnectionFactory JedisConnectionFactory(){
返回新的JedisConnectionFactory();
}
@豆子
公共StringRedisSerializer StringRedisSerializer(){
StringRedisSerializer StringRedisSerializer=新的StringRedisSerializer();
返回字符串重新序列化器;
}
@Bean(name=“redisTemplate”)
公共RedisTemplate RedisTemplate(){
RedisTemplate RedisTemplate=新RedisTemplate();
redisTemplate.setConnectionFactory(jedisConnFactory());
setKeySerializer(stringRedisSerializer());
返回模板;
}
}
当我尝试使用RedisTemplate时:
public class ServiceDummy {
@Autowired
RedisTemplate<String, Object> redisTemplate;
public void save(String data){
redisTemplate.opsForValue().set("1234", data);
}
}
公共类ServiceDummy{
@自动连线
再发现模板再发现模板;
公共void保存(字符串数据){
redisTemplate.opsfervalue().set(“1234”,数据);
}
}
我得到了一个空指针。正如@Todd正确指出的,您不能期望Spring管理未注册到Spring上下文的bean 因此,您需要:
@Component
注释将该bean标记为Springbean,或者在这种情况下@Service
注释会更好ServiceDummy
位于com.pack
package下,以便Spring可以扫描该组件正如@Todd正确指出的,您不能期望Spring管理未注册到Spring上下文的bean 因此,您需要:
@Component
注释将该bean标记为Springbean,或者在这种情况下@Service
注释会更好ServiceDummy
位于com.pack
package下,以便Spring可以扫描该组件您的
ServiceDummy
类是否用@组件标记?也许自动连线没有把它接起来。你的ServiceDummy
类是否用@组件标记了?也许自动布线并没有起作用。