SSM框架中经常使用的注解

  @Service  :一般做用在业务层,可是目前该功能与 @Component 相同。html

   @Repository 持久层 该注解的做用不仅是将类识别为Bean,同时它还能将所标注的类中抛出的数据访问异常封装为 Spring 的数据访问异常类型。 Spring自己提供了一个丰富的而且是与具体的数据访问技术无关的数据访问异常结构,用于封装不一样的持久层框架抛出的异常,使得异常独立于底层的框架。spring

  @Controller:在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据通过业务处理层处理以后封装成一个Model ,而后再把该Model 返回给对应的View 进行展现。在SpringMVC 中提供了一个很是简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,而后使用@RequestMapping 和@RequestParam 等一些注解用以定义URL 请求和Controller 方法之间的映射,这样的Controller 就能被外界访问到。此外Controller 不会直接依赖于HttpServletRequest 和HttpServletResponse 等HttpServlet 对象,它们能够经过Controller 的方法参数灵活的获取到。数据库

  @GetMapping:Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化经常使用的HTTP方法的映射,并更好地表达被注解方法的语义。以@GetMapping为例,Spring官方文档说:@GetMapping是一个组合@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP Get 映射到 特定的处理方法上。json

  produces = "application/json":@RequestMapping(value = "/produces", produces = "application/json"):表示将功能处理方法将生产json格式的数据,此时根据请求头中的Accept进行匹配,如请求头“Accept:application/json”时便可匹配;@RequestMapping(value = "/produces", produces = "application/xml"):表示将功能处理方法将生产xml格式的数据,此时根据请求头中的Accept进行匹配,如请求头“Accept:application/xml”时便可匹配。此种方式相对使用@RequestMapping的“headers = "Accept=application/json"”更能代表你的目的。app

  @ResponseBody:该注解用于将Controller的方法返回的对象,经过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。使用时机:返回的数据不是html标签的页面,而是其余某种格式的数据时(如json、xml等)使用;那么只需删除注解:@ResponseBody 即可以返回页面pay/success.jsp。并且达到了与客户端后台交互的效果。框架

  @RestController:返回string或者json的话就直接用@RestController。若是想要页面跳转的话,就使用@Controller。一开始就有个疑问,就是我想在一个类中既能返回string或者json又能进行页面跳转怎么办。简单说来@RestController = @Controller + @ResponseBody。因此,之后定义controller的时候,能够直接使用@Controller,若是须要返回json能够直接在方法中添加@ResponseBody便可。jsp

  @Transient: 该注解,是Hibernate等框架的注解。 实体类中使用了@Table注解后,想要添加表中不存在字段,就要使用@Transient这个注解了。spa

  @Table:@Entity注释指名这是一个实体Bean,@Table注释指定了Entity所要映射带数据库表,其中@Table.name()用来指定映射表的表名。若是缺省@Table注释,系统默认采用类名做为映射表的表名。实体Bean的每一个实例表明数据表中的一行数据,行中的一列对应实例中的一个属性。component

  @component (把普通pojo实例化到spring容器中,至关于配置文件中的<bean id="" class=""/>)xml

  @Autowired:采用类型的方式完成自动装配

 

  @Resource:采用名称+类型的方式完成自动装配(比较保险)

相关文章
相关标签/搜索