java ssm常用注解_SSM常用注解

一.mybatis

1 配置一对多查询和多对多查询的注解方式映射关系:

@Results:声明映射关系的配置  Value属性接收 @Result的数组

@Result:配置映射关系

id属性(boolean)声明是否为主键配置

Property属性对象中的属性名

Column属性查询的字段名

二.spring

2 创建当前对象交给spring容器管理的注解

@Component(value="id标识")

@Controller(value="id标识")  web层

@Service(value="id标识")     service层

@Repository(value="id标识")  dao层

说明:需要配置到类上 Value属性指定唯一标识

3 属性依赖注入的注解

@Autowired

说明:默认按照类型(接口)从容器中查找对象并注入 也可以以属性名作为唯一标识从容器中查找对象并注入

@Qualifier(value="id标识") Value属性可以按照id唯一标识注入

@Value

说明:注入基本数据类型数据 也可以注入被spring容器管理的properties文件中的内容

4 生命周期相关的注解

@Scope

说明:对象的作用 Value属性(singleton|prototype)

@PostConstruct

说明:配置到方法上 用来配置初始化方法

@PreDestory

说明:配置到方法上 用来配置销毁方法

5 使用配置类替换xml配置文件的注解

@Configuration:声明配置类

@ComponentScan: 开启包扫描

@PropertySource:将properties配置文件交给spring容器管理

@Import:引入其它的配置类

@Bean : 配置到方法上,表明此方法的返回值交给spring容器管理

6 springTest的相关注解

@Runwith(SpringJunit4ClassRunner.class) 声明spring提供的类加载配置文件

@ContextConfiguration 声明spring的配置信息

Locations属性xml配置文件  Classes属性配置类的字节码

7 AOP相关的注解

@Aspect 声明切面类

@PonitCut 定义公共的切入点  配置到空方法上

value属性切入点表达式  引用:方法名()

配置通知类型:

@Before 前置通知

@AfterReturnint 后置通知

@AfterThrowing  异常通知

@After    最终通知

@Around    环绕通知

@EnableAspectJAutoProxy 开启对AOP注解的支持 用于纯注解使用

8 事务相关的注解

@Transactional 需要事务的类或者方法上使用配置事务

@EnableTransactionManagement 纯注解使用 代表开启对注解事务的支持

三.springmvc

9  @RequestMapping("/user") 做浏览的访问路径和当前方法的映射

@RequestHeader 获取到请求头的信息

@CookieValue  获取到cookie的jsessionID

@RequestBody  配置到方法参数上,表明将json字符串转化为java对象

@ResponseBody  配置到方法返回值,表明将对象转化为json字符串

@RequestBody   配置到方法参数,表明将json字符串转化为对象

@SessionAttributes(value = {"username"})  //代表当前类中的所有方法 只要是model对象操作了指定的参数 都会向session域中存一份

@ModelAttribute("aaa") 向Model中添加元素

10 restFul代码编程的要求:

确定地址参数(id)如何设置路径 格式:{id}

确定如何获取到地址参数(id)在方法参数上使用注解:    @PathVariable(value = "id")

指定就对某一种提交方式有效  @RequestMapping(value = "/{idddd}.html",method = RequestMethod.GET)  只对get提交有效

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值