SpringMVC中各个常用注解的作用
来源:互联网 发布:高级人体建模软件 编辑:程序博客网 时间:2024/06/01 09:16
1、@Controller用于标注Controller层,即控制层,它用于标记在一个类上,使用@Controller标记的类就变成一个SpringMVC Controller对象。分发处理器将会扫描使用了该注解的类的方法。通俗理解就是,被Controller标注的类就是一个控制器,这个类中的方法就是相应的动作。
与@Controller相对应,@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示该类中的所有响应请求的方法都会以该地址作为父路径,作用到方法上时,则会在已有父路径的基础上添加相应路径
2、@Service用于标注业务层
3、@Repository用于标注数据访问组件,即DAO组件
4、@Component用于泛指组件,当组件不好归类的时候,可以使用Component进行标注
5、@Autowired顾名思义,就是自动装配,其作用是为了消除代码Java代码里面的getter/setter与bean属性中的property。当Spring发现@Autowired注解时,将自动在代码上下文中找到和其匹配(默认是类型匹配)的Bean,并自动注入到相应的地方去。当Spring找不到bean时会抛出异常,将@Autowired注解的required属性设置为false 不会抛出异常,会显示null
当有多个bean对应时,Spring因为不能判定应该使用哪个bean同样会抛出异常,此时使用@Qualifier("class-name")注解,即可指定bean
6、@Resource注解,默认通过name属性去匹配bean,当找不到时再按type去匹配,当指定了name或者type则根据指定的类型去匹配bean,任何一个不匹配豆浆报错
@Autowired默认按照byType方式进行bean匹配,@Resource默认按照byName方式进行bean匹配
@Autowired是Spring的注解,@Resource是J2EE的注解,这个看一下导入注解的时候这两个注解的包名就一清二楚了
Spring属于第三方的,J2EE是Java自己的东西,因此,建议使用@Resource注解,以减少代码和Spring之间的耦合。
7、component-scan标签默认情况下自动扫描指定路径下的包(含所有子包),将带有@Component、@Repository、@Service、@Controller标签的类自动注册到spring容器。对标记了 Spring's @Required、@Autowired、JSR250's @PostConstruct、@PreDestroy、@Resource、JAX-WS's @WebServiceRef、EJB3's @EJB、JPA's @PersistenceContext、@PersistenceUnit等注解的类进行对应的操作使注解生效(包含了annotation-config标签的作用)。
- SpringMVC中各个常用注解的作用
- SpringMVC中@ModelAttribute注解的作用
- springmvc常用注解和作用
- spring 各个注解的作用
- springmvc+hibernate中几个常用的注解
- Springmvc和Mybatis中常用的注解
- springmvc常用的注解
- springmvc 常用的注解
- SpringMVC的常用注解
- 常用的springMVC注解
- SpringMVC常用的注解
- Springmvc的常用注解
- springMVC的常用注解
- SpringMVC的常用注解
- java jdbc_url中常用的各个参数的作用
- Retrofit各个注解的含义及作用
- Retrofit各个注解的含义及作用
- Retrofit各个注解的含义及作用
- 高通平台gpio在dst中的配置
- 人脸检测
- 在SQL Server中用好模糊查询指令LIKE
- 图像平滑处理
- Jackon版本与Spring版本不匹配问题
- SpringMVC中各个常用注解的作用
- springmvc无法跳转jsp的问题解决
- C语言学习笔记(八)---简单的背包加密算法练习
- PB级大规模文件分发系统“蜻蜓”
- (PYTHON_GUI)WxPython安装 PYTHON-PIP-WX
- 从浏览器地址栏输入URL到页面加载完成的过程中都发生了那些事情?
- mysql5.7官网直译SQL语句优化--嵌套连接的优化
- 查看哪个sql使用临时段比较多
- 【UI】SnackBar使用