SpringMVC四大注解 Component·Controller·Service·Repository

如何使用Component\Controller\Service\Repository四大注解类:

•@Component 是通用标注
•@Controller 标注 web 控制器
•@Service 标注 Servicec 层的服务
•@Respository 标注 DAO 层的数据访问

•这些注解都是类级别的,可以不带任何参数,也可以带一个参数,代表bean名字,在进行注入的时候就可以通过名字进行注入了。

•在不清楚使用那个注解的时候,可以统统使用Component
SpringMVC四大注解 Component·Controller·Service·Repository_第1张图片
•为了代码逻辑清晰,还是建议使用具体的注解
•在springmvc的配置文件中,通过context:component-scan使注解生效

•使用@Resource或@Autowired注解实现注入
SpringMVC四大注解 Component·Controller·Service·Repository_第2张图片
•@Autowired默认按类型装配,默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false,例如:@Autowired(required=false),如果我们想使用名称装配可以结合@Qualifier注解进行使用
SpringMVC四大注解 Component·Controller·Service·Repository_第3张图片

•@Resource,默认安装名称进行装配,名称可以通过name属性进行指定,如果没有指定name属性,当注解写在字段上时,默认取字段名进行安装名称查找,如果注解写在setter方法上默认取属性名进行装配。当找不到与名称匹配的bean时才按照类型进行装配。但是需要注意的是,如果name属性一旦指定,就只会按照名称进行装配。
SpringMVC四大注解 Component·Controller·Service·Repository_第4张图片
注解示例GitHub(下载demo2):https://github.com/DaleyChao/SpringMVCPra/tree/7093e65517c2a504d4172427d4c71fcf18b869f3

你可能感兴趣的:(SpringMVC四大注解 Component·Controller·Service·Repository)