ApplicationContext springContext = new ClassPathXmlApplicationContext("application.xml");
Person p4 = (Person) springContext.getBean(Person.class);
1、Exception in thread "main" org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'com.Person' available: expected single matching bean but found 4: p1,p2,staticP3,instP4
错误原因:按照class属性获取容器中组件,容器中有多个同类型组件,报异常
2、Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.Person‘ available
错误原因:在容器中没有注册该组件
3、浏览器显示400,一定是url的请求参数格式有问题(和服务器要求的不一样)
例如
@RestController
@RequestMapping("test")
public class Homework {
//注解里限定只处理请求参数包含username和password的请求
@RequestMapping(value = "limit", params = {"username", "password"})
public ResultVo limit() {
return ResultVo.resultOk();
}
}
结果实际发送请求不是 http://localhost/test/limit?usename=xx&password=xxx
4、直接发送URL时不能带特殊字符
直接构造带特殊符号([ ])的URL
上面两种方式都不行
localhost/bean?name=admin&hobbys=sing&hobbys=dance&hobbys=rap&hobbys=basketball&birthday=1991-05-19 14:20:15&orders[0].id=1&orders[0].goodsName=麦克风&orders[0].price=100&orders[1].id=2&orders[1].goodsName=音响&orders[1].price=10000&orders[2].id=3&orders[2].goodsName=摄像头&orders[2].price=1000
localhost/bean?name=admin&hobbys=sing&hobbys=dance&hobbys=rap&hobbys=basketball&birthday=1991-05-19 14:20:15&orders[0].id=1&orders[0].goodsName=麦克风&orders[0].price=100&orders[1].id=2&orders[1].goodsName=音响&orders[1].price=10000&orders[2].id=3&orders[2].goodsName=摄像头&orders[2].price=1000
需要把”[“变成对应的url编码才行,[ → %5B,] → %5D
要发送下面的url
localhost:80/bean?name=admin&hobbys=sing&hobbys=dance&hobbys=rap&hobbys=basketball&birthday=1991-05-19 14:20:15&orders%5B0%5D.id=1&orders%5B0%5D.goodsName=麦克风&orders%5B0%5D.price=100&orders%5B1%5D.id=2&orders%5B1%5D.goodsName=音响&orders%5B1%5D.price=10000&orders%5B2%5D.id=3&orders%5B2%5D.goodsName=摄像头&orders%5B2%5D.price=1000
localhost:80/bean?name=admin&hobbys=sing&hobbys=dance&hobbys=rap&hobbys=basketball&birthday=1991-05-19 14:20:15&orders%5B0%5D.id=1&orders%5B0%5D.goodsName=麦克风&orders%5B0%5D.price=100&orders%5B1%5D.id=2&orders%5B1%5D.goodsName=音响&orders%5B1%5D.price=10000&orders%5B2%5D.id=3&orders%5B2%5D.goodsName=摄像头&orders%5B2%5D.price=1000
用表单方法构造URL就不需要转码(postman只会把post请求的表单内容发送出去,get表单的内容不会发送)
因为表单会自动将" [ "转换成url编码