ssm项目中的一些常见注解及其使用方法

一、Spring注解

1) 申明类的注解  相当于<bean > 写在类上

②    @Service  :声明service层类。写在实现类上,不写在接口上;

@Service
public class RoleServiceImpl implements RoleService {
}

③    @Controller:控制层注解;

@Controller
public class RoleController {
}

④    @Repository:dao层注解,若在spring配置文件中配置了dao层接口,可省略此注解;

@Repository
public interface RoleMapper {
}

⑤    @Component// 其他组件注解,用于非Controller Service dao层的组件;

@Component
public class LogAspect {
}

⑥    @Autowired:依赖注入注解,根据类型进行注入。 如果有多个实现类,可以配合 @Qualifier("helloServiceImpl") 来进行指定;

  //required:指定对象是否必须,为false,则可以为null(即使查找的对象不存在,也不会报错,只会报空指针异常),默认为true(如果找不到对象,就会报错,报找不到对象的错误)
    @Autowired(required = true)
    private HelloService helloService;

⑦    @Resource :依赖注入注解,先根据名称进入注入,如果没有再根据类型进行注入;

  //Resource(name):指定注入对象的名称(id),当一个接口有多个实现类的情况下
    //如果没有通过name指定注入的对象名,则会先根据属性名称进行注入,如果不存在对应的对象,则根据类型进行注入
    @Resource(name = "eByeService")
    private BbyeService byeService;

⑧    @Lazy:懒加载,指定延迟进行创建或注入;

⑨    @Transactional :事务注解,用来指定方法事务的隔离级别和传播特性;

二、 Springmvc注解

①    RequestMapping: 加在类上,或方法上,用来指定请求地址;

                                     加在类上,指定该类中所有方法的统一访问前缀;

②    GetMapping,PostMapping,DeleteMapping,PutMapping 分别对应get/post/delete/put 等http请求方式 ,如果请求方式不对,返回405状态码;

③    ResponseBody :指定返回json数据,不进行页面跳转。通常用来响应ajax请求;

④    @JsonFormat 添加在实体类的日期属性上,将对象转换成json格式时,会根据指定格式将日期类型的数据转换成字符串。将字符串转换成对象时,会根据指定的格式将字符串转换成日期类型的数据;

⑤    @DateTimeFormat(pattern = "yyyy-MM-dd")将前台传递的字符串数据进行格式化成日期类型的数据;

⑥    @SessionAttribute向session域中获取值;

⑦    @ModelAttribute 可添加在方法和方法参数上,向request域中存取值;

⑧    @RequestParam:  用来向request请求参数中获取值。如果指定name,则获取指定name的值,如果没指定,则获取所有请求数据,封装进map;

⑨    @RequestBody: 用来获取ContentType为Application/json提交的数据,并将json字符串转换成对象。  日期的转换会依赖于@JsonForma;

⑩    @RestController: 标识该类中的所有方法都返回json数据,方法上不需要再加ResponseBody;

11    @PathVariable:获取URL地址中的数据,常用来实现Restful风格的API设计。

原文地址:https://www.cnblogs.com/xie-qi/p/13222331.html