SpringMVC常用注解@Controller,@Service,@repository,@Component

spring注解的作用:

spring作用在类上的注解有:@Component、@Responsity、@Service以及@Controller;

而@Autowired和@Resource是用来修饰字段、构造函数或者设置方法,并做注入的。

当注解作用在类上时,表明这些类是交给spring容器进行管理的,而当使用@Autowired和@Resource时,表明我需要某个属性、方法或字段,但是并不需要我自己去new一个,只需要使用注解, spring容器会自动的将我需要的属性、方法或对象创造出来。这就是通

所说的依赖注入和控制反转。

controller层使用@controller注解

SpringMVC常用注解@Controller,@Service,@repository,@Component

@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法。通俗来说,被Controller标记的类就是一个控制器,这个类中的方法,就是相应的动作。

@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

比如图一中,跳转到登录页面的路径就是localhost:8080/xxx/payInfo/xxx

service采用@service注解

SpringMVC常用注解@Controller,@Service,@repository,@Component

 

 例:@Service注解:默认名称是类名(头字母小写),可以@Service(“xxxx”)这样来指定

@Service注解是告诉Spring,当Spring要创建PayInfoService时,Service的名字必须叫做"payInfoService",这样当Action需要使用PayInfoService时,就可以由Spring创建好的"payInfoService",然后注入给Action。(区分大小写)

dao层使用@repository注解

SpringMVC常用注解@Controller,@Service,@repository,@Component

 

 

 

@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=""/>)

上一篇:python-Moviepy缩放效果需要调整


下一篇:Linux kernel编译生成的版本多一个加号“+”