SSM框架常用注解

1、Spring分层注解(都是向Spring注册bean)
@Controller 控制层
@Service 业务处理层(一般在serviceImpl)
@Repository 持久层(数据访问层,即DAO层,一般在daoImpl)


2、对象注解
@Autowired 采用类型的方式完成自动装配:
它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作
@Autowired根据bean类型从spring上线文中进行查找,注册类型必须唯一,否则报异常。
@Resource 采用名称+类型的方式完成自动装配:
@Resource默认按bean的name进行查找,如果没有找到会按type进行查找,此时与@Autowired类似
(当采用名称进行装配的时候,在你用到这个实例的时候,所使用的名称一定要相同;如果是采用类型装配的话,它找的就是这个类。)
  Resource 的作用相当于 @Autowired,只不过 @Autowired 按 byType 自动注入,而@Resource 默认按 byName 自动注入罢了。@Resource 有两个属性是比较重要的,分别是 name 和 type,Spring 将@Resource 注释的 name 属性解析为 Bean 的名字,而 type 属性则解析为 Bean 的类型。所以如果使用 name 属性,则使用 byName 的自动注入策略,而使用 type 属性时则使用 byType 自动注入策略。如果既不指定 name 也不指定 type 属性,这时将通过反射机制使用 byName 自动注入策略。


3、ResponseBody
这个注解,就是当你引入了Jackson这个jar包的时候,再使用这个注解,SpringMVC就可以自动将它所修饰的方法的返回值转换为json格式,从而不需要人为的去转换


4、Mybatis相关注解:
@SelectProvider(type = TestSqlProvider.class, method = "getSql") : 提供查询的SQL语句,如果你不用这个注解,你也可以直接使用@Select("select * from ....")注解,把查询SQL抽取到一个类里面,方便管理,同时复杂的SQL也容易操作,type =TestSqlProvider.class就是存放SQL语句的类,而method ="getSql"表示get接口方法需要到TestSqlProvider类的getSql方法中获取SQL语句。
@UpdateProvider(type = TestSqlProvider.class, method = "updateSql") :用法和含义@SelectProvider一样,只不过是用来更新数据库而用的。
@InsertProvider(type = TestSqlProvider.class, method = "insertSql") :用法和含义@SelectProvider一样,只不过是用来插入数据库而用的。
@DeleteProvider(type = TestSqlProvider.class, method = "deleteSql") :用法和含义@SelectProvider一样,只不过是用来删除数据而用的。
@Result:表示SQL查询返回的结果集。可以说数组中所有的@Result组成了单个记录的映射关系,而@Results则是单个记录的集合。
@ResultMap
@Param("testBean") :定义参数。是一个自定义的对象,指定了sql语句中的表现形式,如果要在sql中引用对象里面的属性,只要使用testBean.id,testBean.textText即可,mybatis会通过反射找到这些属性值。


5、RequestMapping:是一个用来处理请求地址映射的注解。可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
RequestMapping有六个属性:
value:指定请求的实际地址
method:指定请求的method类型,get、post、put、delete
consumes:指定处理请求的提交内容类型
produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回
params:指定request中必须包含某些参数值才让该方法处理
header:指定request中必须包含某些指定的header值,才让该方法处理请求


6、RequestParam:用于将指定的请求参数赋给方法中的形参


7、Required:负责检查一个bean在初始化时其声明的set方法是否被执行,当某个被标注了 @Required的 Setter方法没有被调用,则 Spring在解析的时候会抛出异常,以提醒开发者对相应属性进行设置。 @Required注解只能标注在 Setter方法之上。
---------------------
原文:https://blog.csdn.net/qq_40428105/article/details/80383655

猜你喜欢

转载自blog.csdn.net/acm_chenbj1/article/details/85037725