SSM框架中常用的注解

  @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 映射到 特定的处理方法上。

  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"”更能表明你的目的。

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

  @RequiresRoles:在controller控制器中的一个方法里面使用@RequireRoles("admin")注解,说明访问该方法时,需要admin角色才能访问。

  @ApiOperation:@ApiOperation不是spring自带的注解是swagger里的 com.wordnik.swagger.annotations.ApiOperation;@ApiOperation和@ApiParam为添加的API相关注解,个参数说明如下: @ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response = “接口返回参数类型”, notes = “接口发布说明”;其他参数可参考源码; @ApiParam(required = “是否必须参数”, name = “参数名称”, value = “参数具体描述”

实际项目中非常需要写文档,提高Java服务端和Web前端以及移动端的对接效率。Swagger是当前最好用的Restful API文档生成的开源项目,通swagger-spring项目实现了与SpingMVC框架的无缝集成功能,方便生成spring restful风格的接口文档,同时swagger-ui还可以测试spring restful风格的接口功能。

  @RestController:返回string或者json的话就直接用@RestController。如果想要页面跳转的话,就使用@Controller。一开始就有个疑问,就是我想在一个类中既能返回string或者json又能进行页面跳转怎么办。现在终于明白:点击打开链接。在这篇文章中介绍的非常详细,简单说来@RestController = @Controller + @ResponseBody。所以,以后定义controller的时候,可以直接使用@Controller,如果需要返回json可以直接在方法中添加@ResponseBody即可。

  @RequiresPermissions("system:*"):shiro中的注解

  @SuppressWarnings("SpringJavaAutowiringInspection"):该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。

    @Deprecated:用 @Deprecated注释的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择。在使用不被赞成的程序元素或在不被赞成的代码中执行重写时,编译器会发出警告。

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

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

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

时间: 2024-10-04 10:35:50

SSM框架中常用的注解的相关文章

SSM框架中使用Spring的@Transactional注解进行事务管理

一 介绍 在企业级应用中,保护数据的完整性是非常重要的一件事.因此不管应用的性能是多么的高.界面是多么的好看,如果在转账的过程中出现了意外导致用户的账号金额发生错误,那么这样的应用程序也是不可接受的 数据库的事务管理可以有效地保护数据的完整性(PS:关于数据库的事务管理基础可以参考我以前写过的这篇文章:http://www.zifangsky.cn/385.html),但是原生态的事务操作需要写不少的代码,无疑是非常麻烦的.在使用了Spring框架的应用中,我们可以使用@Transactiona

SSM框架中以注解形式实现事务管理

上一篇博文<SSM三大框架整合详细教程>详细说了如何整合Spring.SpringMVC和MyBatis这三大框架.但是没有说到如何配置mybatis的事务管理,实现开发中,事务是必不可少的.本篇作为对上一篇的补充,说明在SSM框架中如何使用注解的形式进行事务管理. 什么是事务? 在编写业务的过程中,会需要进行事务处理,当需要执行多条插入语句时,如果前几条成功,而最后一条失败,那么我们需要回滚数据库操作,保持数据的一致性和完整性,此时,就需要利用DB的事务处理.事务是恢复和并发控制的基本单位.

Jquery Easyui框架中常用的验证

对于validatebox空间,验证其输入字符长度的最大值是否超出数据库中设置的字段长度.方法如下: 1 /** 2 * 验证输入字符长度 3 */ 4 $.extend($.fn.validatebox.defaults.rules, { 5 maxLength: { 6 validator: function(value, param){ 7 if(value.length >= param[0]) { 8 // showMsg("输入信息长度不能超过"+ param[0]

Junit中常用的注解说明

Java注解((Annotation)的使用方法是@注解名 ,能通过简单的词语来实现一些功能.在junit中常用的注解有@Test.@Ignore.@BeforeClass.@AfterClass.@Before.@After.@Runwith.@Parameters 以下是相关的介绍和使用说明: 一[email protected] 在junit3中,是通过对测试类和测试方法的命名来确定是否是测试,且所有的测试类必须继承junit的测试基类.在junit4中,定义一个 测试方法变得简单很多,只

玩转SSH之Spring(一)---关于Srping框架中使用@query注解实现复杂查询

在Spring框架中,关于从数据表获取数据有不同的方法,当数据查询比较简单时,可以通过继承JpaRepository<T, L> 使用findBy***方法,通过分析方法名来实现查询,T表示要查询的数据表所对应的实体,L表示该实体主键的类型,比如Long.关于findBy方法如何通过分析方法名来实现查询,网上资料很多,不做赘述. 如果查询的数据比较复杂,查询条件比较复杂时,可以考虑使用JPA的@query方法来实现查询.关于使用方法,下面做简单介绍: 1.首先Dao层需继承Repository

SSM框架中日志的打印和单例模式(六)

一.SSM框架中日志输出 1.src根目录下配置log4j.properties文件 #设置输出级别和输出目的地# log4j.rootLogger=info, stdout,logfile #把信息输出到控制台# log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.err log4j.appender.stdout.layout=org.apache.log4j.S

SSM框架中数据库无法连接的问题

首先是SSM框架中所有的配置都是没有问题的,而且项目在其他人的环境上也能正常访问数据库:那么最有可能的就是数据库版本的问题导致数据库连接不上,服务器给我的报错是: 15:37:25.902 [C3P0PooledConnectionPoolManager[identityToken->1hge4n5a4xz7ohp18togle|54666959]-HelperThread-#0] DEBUG c.m.v.resourcepool.BasicResourcePool - An exception

自定义注解中常用的注解

自定义注解中常用的注解: java中元注解有四个: @Retention @Target @Document @Inherited:  @Retention:注解的保留位置 @Retention(RetentionPolicy.SOURCE)   //注解仅存在于源码中,在class字节码文件中不包含 @Retention(RetentionPolicy.CLASS)     // 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得 @Retention(RetentionPo

SSM框架中注解含义及应用场景小结

先说一下什么是组件扫描: 指定一个包路径,Spring会自动扫描该包及其子包所有组件类,当发现组件类定义前有特定的注解标记时,就将该组件纳入到Spring容器.等价于原有XML配置中的<bean>定义功能. 组件扫描可以替代大量XML配置的<bean>定义. 使用组件扫描,首先需要在XML配置中指定扫描类路径 <context:component-scan base-package = "org.example"/> 上面配置,容器实例化时会自动扫描