我正在尝试通过java连接到Redis,我有以下配置,
@SpringBootApplication
@Configuration
@ComponentScan(basePackages = "com.infy.redisDemo")
public class RedisDemoApplication {
@Bean
public LettuceConnectionFactory getConnectionFactory(){
LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory("localhost",6379);
return lettuceConnectionFactory;
}
@Bean
public RedisTemplate<String,Object> getRedisTemplate(){
RedisTemplate<String, Object> redisTemplate = new RedisTemplate();
redisTemplate.setConnectionFactory(getConnectionFactory());
return redisTemplate;
}
public static void main(String[] args) {
SpringApplication.run(RedisDemoApplication.class, args);
}
}
我的回购类:
@Repository
public class UserRepoImpl implements UserRepository {
private RedisTemplate<String, Object> redisTemplate;
private HashOperations hashOperations;
public final String key = "USER";
public UserRepoImpl(RedisTemplate redisTemplate,
HashOperations hashOperations) {
this.redisTemplate = redisTemplate;
this.hashOperations = redisTemplate.opsForHash();
}
@Override
public void save(User user) {
hashOperations.put(key,user.getId(),user);
}
@Override
public void update(User user) {
hashOperations.put(key,user.getId(),user);
}
@Override
public Map findAll() {
return hashOperations.entries(key);
}
}
public interface UserRepository {
void save(User user);
void update(User user);
Map findAll();
}
我的控制器类如下,
@RestController
@RequestMapping("/rest/user")
public class RedisController {
private UserRepository userRepository;
public RedisController(UserRepository userRepository) {
this.userRepository = userRepository;
}
@GetMapping("/add/{id}/{name}")
public User add(@PathVariable String id,@PathVariable String name){
userRepository.save(new User(name,id,25000));
return userRepository.findById(id);
}
}
当我运行应用程序时,我收到以下错误,
org.springframework.beans.factory.未满足的DependencyException:创建名称为redisController的bean时出错,定义在文件[redisDemo\RedisController.class]中:通过构造函数参数0表示的依赖项未满足;嵌套异常org.springframework.beans.factory.未满足的DependencyException:创建名称为userRepoImpl的bean时出错,定义在文件[redisDemo\repository\UserRepoImpl.class]中:通过构造函数参数1表示的依赖项未满足;嵌套异常org.springframework.beans.factory.NoSuchBean定义异常:没有可用的类型为org.springframework.data.redis.core.哈希操作的合格bean:预计至少有1个bean符合自动连接候选条件。依赖注释:{}
程序中有什么问题?有什么建议可以让它工作吗?我需要使用jedisConnectionFactory吗?我使用的是Intellij,我的redis版本在windows上是3.2,Spring是2.1.6。
您不需要将HashOperations作为参数传递给构造函数UserRepoImpl。相反,您可以从构造函数中删除此参数。
public UserRepoImpl(RedisTemplate redisTemplate) {
this.redisTemplate = redisTemplate;
this.hashOperations = redisTemplate.opsForHash();
}
描述:com.mongotest.demo.seeder中构造函数的参数0需要类型为“com.mongotest.repositories.studentrepository”的bean,但找不到该bean。 pom.xml
我有一个Java Spring Boot项目,我正在其中创建一个post请求。代码如下所示: 主要: 但是,当我运行该项目时,我会得到以下错误: 感谢您对此的任何帮助!非常感谢,
我计划将所有DAO层代码分解到一个单独的Spring boot data项目中。因此,我创建了两个项目,其中一个将具有所有数据库相关代码,另一个将具有服务代码,然后使用第一个项目作为依赖项来交互任何数据库相关操作。 Project1:DatabaseInteractionService Project2:InsuranceCleanupService InsuranceCleanupService
我得到以下错误: 我以前从未见过这个错误,但奇怪的是@autowire不能工作。以下是项目结构: 申请者界面 应用程序 现在我应该能够自动连接申请者并能够访问,但是在这种情况下,当我在中调用它时,它就不起作用了 ---------------更新1-------------------------------- 我添加了 错误消失了,但什么也没有发生。但是,当我在添加之前注释掉了中与有关的所有内容
下午好,我正在尝试使用Spring Boot运行SOAP服务,但出现以下错误: 应用程序启动失败 描述: 我知道也许这应该是个愚蠢的错误,但我看不出来 附件MI代码: SpringBootSoapApp.java ClienteServiceImpl.java client.xsd 应用程序.属性 我的项目结构 我试图遵循以下示例:https://www.javaspringclub.com/pu