SSM框架 常用注解 (待续)

一、Spring常用

1. @Autowired

直接在属性上使用即可,也可以在set方法上使用;使用Autowired我们可以不用编写set方法了,
前提是你这个自动装配的属性在 IOC(Spring)容器中存在,且符合类型byType;

2. @Nullable

字段标记了这个注解,说明这个字段可以为null

3. @Qualifier(value = “xxx”)

配合@Autowire的使用,指定一个唯一的bean对象注入

4. @Resource

自动装配,默认通过byName的方式实现,如果找不到名字,则通过byType实现

5. @Componet

组件,放在类上,说明这个类被Spring管理了,就是bean

6. @Value

属性注入,可以用在成员变量或者set方法上

7. @Contrller @Service @Repository

与@Component一样,都是代表将某个类注册到Spring容器中,装配bean

8. @Scope

作用域,指定为单例还是多例模式

9. @Aspect

标注这个类是一个切面

10. @Before

放在切面的方法上,指定为前置通知,参数为切入点:@Before(“execution(* com.kuang.service.UserServiceImpl.*(…))”)

二、Spring MVC常用

1. @Controller

让Spring IOC容器初始化时自动扫描到,与@Component一样,将该类注册到容器中;

被注解的类中的所有方法,如果有返回值是String,并且有具体页面可以跳转,那么就会被视图解析器解析;

2. @RequestMapping

可以用在类上和方法上,用于映射url到控制器类或一个特定的处理程序方法,返回逻辑视图名。如果类上和方法上都使用,则请求路径为类和方法的组合;

3. @RequestParam

用于Controller的方法接收前端参数,无论前端传来参数和Controller处理方法参数名称是否一样,都要加上;

提交数据 : http://localhost:8080/hello?username=daniel

处理方法:

@RequestMapping("/hello")
public String hello(@RequestParam("username") String name){
   System.out.println(name);
   return "hello";
}

4. @ResponseBody

可以在方法或者类上使用,一旦使用了这个注解,它就不会走视图解析器,会直接返回一个字符串;

@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;
    }
}

3. @RestController

用在类上,直接返回JSON数据,不经过视图解析器;

作用 = @Controller + @ResponseBody

三、RestFul风格

1. @PathVariable

让方法参数的值对应绑定到一个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";    
  }
}

2. @GetMapping @PostMapping

@GetMapping 是一个组合注解,平时使用的会比较多!它所扮演的是 @RequestMapping(method =RequestMethod.GET) 的一个快捷方式。

你可能感兴趣的:(Spring)