@RequestMapping
个人理解为在工厂里面 接口访问的跳转路径 可以用在类的上面 这个地址就是父类访问路径(公共访问)也可以用在方法上面 如果有父类 这个路径就是追加路径 没有的话就正常访问 如下:
@RequestMapping(value="/controller") //类上面的可有可无
public class Controller{
@RequestMapping(value="/dome") //方法上面一定要有
public String dome(){
return "dome"
}
}
想要访问dome页面 所需要的路径就是controller/dome
@ResponseBody
是在@RequestMapping 使用的前提下 想要访问方法 不要直接去跳接页面就要在方法上面添加@ResponseBody 就会去找相对应的http 的路径
@RequestMapping(value="/controller") //类上面的可有可无
public class Controller{
@RequestMapping(value="/login")
@ResponseBody
public void login(@ResponseBody User user){
return user;
}
}
作用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为制定格式后
写入到Response对象body数据区
function login() {
$.ajax({
var datas = '{"username":"' + $('#username').val() +
'","userid":"' + $('#userid').val()}';
type : 'POST',
contentType : 'application/json',
url : "${pageContext.request.contextPath}/controller/login",
data: datas,
success : function(data) {
alert("id: " + data.id + "name: " + data.name);
},
error : function() {
alert('Sorry, it is wrong!');
}
});
};
@PathVariable
到这里访问路径 一般还有一个注解 @PathVariable 用来获取url路径里面的动态参数
@RequestMapping(value="/controller") //类上面的可有可无
public class Controller{
@RequestMapping(value="/url/{id}/{name}")
@ResponseBody
public void url(@PathVariable int id,@PathVariable String name){
return user(id,name);
}
}
@RequestBody 用于读取Request请求的body部分数据,使系统默认的HttpMessageConverter进行解析,然后把相应的数据绑定要返回的对象上,再把HttpMessageConverter返回的对象数据绑定到Controller方法的参数上
@RequestMapping(value="/controller") //类上面的可有可无
public class Controller{
@RequestMapping(value = "/login")
@ResponseBody
public Person login(@RequestBody Person person) {//将请求中的mydata写入Person对象中
return person;//不会被解析为跳转路径,而是直接写入HTTP response body中
}
}
function login() {//页面异步请求
var mydata = '{"name":"' + $('#name').val() + '","id":"'
+ $('#id').val()}';
$.ajax({
type : 'POST',
contentType : 'application/json',
url : "${pageContext.request.contextPath}/person/login",
processdata: false,
dataType : 'json',
data: mydata,
success : function(data) {
alert("id: " + data.id + "nname: " + data.name);
},
error : function() {
alert('出错了!');
}
});
};
@Controller:
用于定义控制器类,在spring项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层)
@RestController
在工厂内使用 是Controller 和 ResponBody 的组合 个人理解 不跳页面的时候使用
@bean
注入方式 一共有四种方式1.set()注入2.构造器注入3.静态工厂的方式注入4.实例工厂



