SpringMVC常用注解@Controller,@Service,@repository,@Component
spring注解的作用:
spring作用在类上的注解有:@Component、@Responsity、@Service以及@Controller;
而@Autowired和@Resource是用来修饰字段、构造函数或者设置方法,并做注入的。
当注解作用在类上时,表明这些类是交给spring容器进行管理的,而当使用@Autowired和@Resource时,表明我需要某个属性、方法或字段,但是并不需要我自己去new一个,只需要使用注解, spring容器会自动的将我需要的属性、方法或对象创造出来。这就是通
所说的依赖注入和控制反转。
controller层使用@controller注解
@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法。通俗来说,被Controller标记的类就是一个控制器,这个类中的方法,就是相应的动作。
@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
比如图一中,跳转到登录页面的路径就是localhost:8080/xxx/payInfo/xxx
service采用@service注解
例:@Service注解:默认名称是类名(头字母小写),可以@Service(“xxxx”)这样来指定
@Service注解是告诉Spring,当Spring要创建PayInfoService时,Service的名字必须叫做"payInfoService",这样当Action需要使用PayInfoService时,就可以由Spring创建好的"payInfoService",然后注入给Action。(区分大小写)
dao层使用@repository注解
@Repository注解是告诉Spring,让Spring创建一个名字叫“payInfoDao”的实例。
当Service需要使用Spring创建的名字叫“payInfoDao”的PayInfoDao实例时,就可以使用@Resource(name = "payInfoDao")注解告诉Spring,Spring把创建好的payInfoDao注入给Service即可。
总结一下:
1、@controller 控制器(注入服务)
2、@service 服务(注入dao)
3、@repository dao(实现dao访问)
4、@component (把普通orm实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)