直接在属性上使用即可,也可以在set方法上使用;使用Autowired我们可以不用编写set方法了,
前提是你这个自动装配的属性在 IOC(Spring)容器中存在,且符合类型byType;
字段标记了这个注解,说明这个字段可以为null
配合@Autowire的使用,指定一个唯一的bean对象注入
自动装配,默认通过byName的方式实现,如果找不到名字,则通过byType实现
组件,放在类上,说明这个类被Spring管理了,就是bean
属性注入,可以用在成员变量或者set方法上
与@Component一样,都是代表将某个类注册到Spring容器中,装配bean
作用域,指定为单例还是多例模式
标注这个类是一个切面
放在切面的方法上,指定为前置通知,参数为切入点:@Before(“execution(* com.kuang.service.UserServiceImpl.*(…))”)
让Spring IOC容器初始化时自动扫描到,与@Component一样,将该类注册到容器中;
被注解的类中的所有方法,如果有返回值是String,并且有具体页面可以跳转,那么就会被视图解析器解析;
可以用在类上和方法上,用于映射url到控制器类或一个特定的处理程序方法,返回逻辑视图名。如果类上和方法上都使用,则请求路径为类和方法的组合;
用于Controller的方法接收前端参数,无论前端传来参数和Controller处理方法参数名称是否一样,都要加上;
提交数据 : http://localhost:8080/hello?username=daniel
处理方法:
@RequestMapping("/hello")
public String hello(@RequestParam("username") String name){
System.out.println(name);
return "hello";
}
可以在方法或者类上使用,一旦使用了这个注解,它就不会走视图解析器,会直接返回一个字符串;
@Controller
public class UserController {
@RequestMapping("/j1")
@ResponseBody //使用了这个注解,它就不会走视图解析器,会直接返回一个字符串
public String json1() throws JsonProcessingException {
//jackson, ObjectMapper
ObjectMapper mapper = new ObjectMapper();
//创建一个对象
User user = new User("daniel",18,"男");
String str = mapper.writeValueAsString(user);
return str;
}
}
用在类上,直接返回JSON数据,不经过视图解析器;
作用 = @Controller + @ResponseBody
让方法参数的值对应绑定到一个URI模板变量上。
eg:
@Controller
public class RestFulController {
//映射访问路径
@RequestMapping(name="/commit/{p1}/{p2}",method={RequestMethod.GET})
public String index(@PathVariable int p1, @PathVariable int p2, Model model){
int result = p1+p2;
//Spring MVC会自动实例化一个Model对象用于向视图中传值
model.addAttribute("msg", "结果:"+result);
//返回视图位置
return "test";
}
}
@GetMapping 是一个组合注解,平时使用的会比较多!它所扮演的是 @RequestMapping(method =RequestMethod.GET) 的一个快捷方式。