了解springmvc常用注解与原理

java的注解可以用在类,类成员变量,类方法,以及方法参数,方法返回值中,而反射可以解析到这些注解,框架会根据不同的注解指示做不同的事情,传不同的参数等,这就令调用方可以通过简单的注解配置来影响框架的行为。

常用springmvc注解在这里可以初步的了解一下:https://www.zybuluo.com/ruoli/note/481633

需要特别关注component-scan配置:它指示spring框架扫描哪些类来生成bean,一共有4类:Component、Controller、Service、Repository ,每一种类我们都应该予以对应的注解,这样component-scan的时候会识别它们并为它们生成对应的bean单例。一旦注册到IOC容器中,后续这些bean之间互相引入的时候,就可以使用自动装配@Autowired来实现了,一定要理解这个来龙去脉。

这四种注解用来标记类,都可以被component-scan收集到IOC容器中,为了可读性应该为不同的类用不同的标注,虽然并没有什么实际差别。
@Component 是通用标注
@Controller 标注 web 控制器
@Service 标注 Servicec 层的服务
@Respository 标注 DAO 层的数据访问

在scan阶段,具体每个controller里又有requestmapping,应该会采集url和controller+method之间的映射关系,以便后续路由请求,大概就是这种原理了。

如果文章帮助您解决了工作难题,您可以帮我点击屏幕上的任意广告,或者赞助少量费用来支持我的持续创作,谢谢~