Spring项目出错点

本文列举了Spring项目中常见的五个错误:1.包内重名Controller导致的问题;2.未使用@ResponseBody导致的返回问题;3.使用@Configuration和@Bean定义线程池时遇到的bean获取错误;4.Gson转换对象报错;5.properties文件读写导致项目重启。每个错误都给出了详细的解释和解决方案。
摘要由CSDN通过智能技术生成
1.包底下有两个重名的controller造成的错误
Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'templateController' for bean class [com.zbjk.lcs.bss.controller.api.template.TemplateController] conflicts with existing, non-compatible bean definition of same name and class [com.zbjk.lcs.bss.controller.api.infocenter.TemplateController]

SpringMVC的Controller 是采用类似键值对(key/value)的映射方式处理的。而当中的键,默认是用cotroller的类名(非全类名)作为键。这样,如果不同包下面的两个Contoller 重名的话,就会导致SpringMVC的容器管理中的controller map中的key重复了。

参考解释:参考解释

2.代码执行都没有问题,但是没有收到返回。
Cannot forward to error page for request [/api/advisor/queryadvisor/byrecord] as the response has already been committed. As a result, the response may have the wrong status code. If your application is running on WebSphere Application Server you may be able to resolve this problem by setting com.ibm.ws.webcontainer.invokeFlushAfterService to false

---问题:controller类用的是@Contoller注解,而且方法上面没写@ResponseBody注解,不是解析数据而是跳转页面,但是我又没有页面。使用@Responsebody标识的方法表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@Responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@Responsebody后,会直接返回json数据。或者是使用@RestController注解,不写@ResponseBody注解也可以

参考解释:参考解释

3.使用@Configuration和@Bean注解自己定义一个线程池。服务器启动的时候配置生效,但是在代码里面应用的时候,使用  AnnotationConfigApplicationContext 获取定义的实体bean报错

@Configuration
@EnableConfigurationProperties({ TaskThreadPoolConfig.class })
public class TaskExecutePool{
@Autowired
private TaskThreadPoolConfig config;
	@Bean
	public String getAsyncExecutor() {
		ThreadPoolTaskExecutor executor = 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值