No matching constructor found in class 'User'User(...):Bean:Integer id ??? String name ???
时间: 2023-11-04 15:58:49 浏览: 135
根据提供的引用内容,错误报告指出在com.tszhao.dao.User类中没有与给定的参数类型匹配的构造函数。而在引用中的代码中,User类确实有一个与提供的参数类型匹配的构造函数,即public User(int id, String name, int age)。因此,可能的原因是在com.tszhao.dao.User类中找不到正确的构造函数。请检查该类中的构造函数是否与提供的参数类型匹配。
相关问题
No qualifying bean of type 'org.springframework.data.redis.core.RedisTemplate' available: expected single matching bean but found 2: redisTemplate,stringRedisTemplate org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'org.springframework.data.redis.core.RedisTemplate' available: expected single matching bean but found 2: redisTemplate,stringRedisTemplate不通过注入redisTemplate怎么解决这个错误
出现这个错误的原因是Spring容器中有两个RedisTemplate实例,而在注入时没有指定具体使用哪个RedisTemplate实例。
可以使用@Qualifier注解指定具体使用哪个RedisTemplate实例。示例代码如下:
```java
public class DataPermissionUtils {
@Autowired
@Qualifier("redisTemplate") // 指定使用名为"redisTemplate"的RedisTemplate实例
private RedisTemplate redisTemplate;
/**
* 获取用户对应的数据权限 传userUid表示获取指定用户的,不传则获取全部的
*
* @param userUid
* @return
*/
public static List<DataPermissionSchemaEo> getDataPermissionsRedis(String userUid) {
RedisTemplate redisTemplate = SpringContextUtils.getBean(RedisTemplate.class); // 这里可以不用获取RedisTemplate实例
Object redisResult = StringUtils.isEmpty(userUid) ?
redisTemplate.opsForValue().get(SystemsConstant.DATA_PERMISSION_SCHEMA)
: redisTemplate.opsForValue().get(SystemsConstant.DATA_PERMISSION_SCHEMA + userUid);
return StringUtils.isEmpty(redisResult.toString()) ?
Collections.emptyList()
: JSONObject.parseArray(redisResult.toString(), DataPermissionSchemaEo.class);
}
}
```
在示例代码中,使用@Autowired注解自动注入RedisTemplate实例,并通过@Qualifier注解指定使用名为"redisTemplate"的RedisTemplate实例。在getDataPermissionsRedis()方法中则可以直接使用RedisTemplate实例,而不需要通过SpringContextUtils.getBean()方法获取RedisTemplate实例。
阅读全文