spring常用注解

@Conntroller

在springmvc中,DispatcherServlet 接收到客户端的请求,分发给对应的控制器进行处理,控制器处理完成后返回一个ModelAndView,DispatcherServlet 调用ViewResolver进行解析渲染并返回给客户端对应的视图。

在程序中需通过@Controller注解来表明当前类是一个控制器,并需在spring的配置文件中配置该控制器,便于DispatcherServlet查找到该控制器。

<context:component-scan base-package="com.wpao.shop.controller" /> 注解扫描全部控制器

<bean class="com.wpao.shop.controller.ShopListController" /> 配置特定控制器

@Service

用在ServiceImpl类上的注解。

@Repository

Ssm架构中,daoImpl通过mybatis.xml实现的,故不常用。

@Component

相当于通用的注解,当不知道一些类归到哪个层时使用,但是不建议;可替代@Service,@Reposity。

@Resource和@Autowired

共同点:Bean注入时使用,可使用在字段(不用写setter方法)或者setter上。

@Resource:是javax.annotation.Resource下的注解,Spring支持默认按照ByName自动注入。

@Autowired:是spring提供的注解,默认按照byType装配对象。

@RequestMapping

用于封装对应的请求地址和控制器方法之间的映射关系,可使用在方法或者类上。

@RequestParam

请求参数,在控制器方法中获取参数,其格式如下,三种获取参数方式等价。其有三个参数:defaultValue(默认值),value(参数名),required 默认值为true,即必须传入。

当前台多个参数属于同一对象的属性时,可使用对象进行参数传递。

spring常用注解_第1张图片

@ResponseBody

响应体。如json调用程序时,将程序返回的数据(json、xml)写入Response对象的body数据区。当通过浏览器访问时,则将返回的字符串直接显示在浏览器上

@PathVariable

路径变量,即将请求url上的模板变量映射到对应的参数上。

spring常用注解_第2张图片

@Transactional

Spring中声明式事务管理中的注解,使用在ServiceImpl类或者方法上,且只对public方法生效(AOP)。

ServiceImpl中并不是所有的方法都需要事务管理,如只读方法,添加事务管理,需要AOP拦截以及事务处理,影响系统性能。

你可能感兴趣的:(spring)