什么是注解(Annotation)
Annotation(注解)是JDK1.5及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注解是以‘@注解名’在代码中存在的,根据注解参数的个数,我们可以将注解分为:标记注解、单值注解、完整注解三类。它们都不会直接影响到程序的语义,只是作为注解(标识)存在,我们可以通过反射机制编程实现对这些元数据(用来描述数据的数据)的访问。另外,你可以在编译时选择代码里的注解是否只存在于源代码级,或者它也能在class文件、或者运行时中出现(SOURCE/CLASS/RUNTIME)。
Annotation(注解)的通常用途:
1.通常在项目中用在Form中进行简单的check
2.Spring 引入注解,通过"@XXX"的方式,让注解与Java Bean紧密结合,既大大减少了配置文件的体积,又增加了Java Bean的可读性与内聚性。
为什么用注解?
传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事物,这么做有两个缺点:
1、如果所有的内容都配置在.xml文件中,会导致.xml文件过大;如果按需求分开.xml文件,又会导致.xml文件过多。总之这会使得配置文件的可读性与可维护性变得很低。
2、开发中,在.java文件和.xml文件之间不断切换,是一件麻烦的事。同时这种思维上的不连贯也会降低开发的效率
为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java Bean紧密结合,既大大减少了配置文件的体积,又增加了Java Bean的可读性与内聚性。
注解用法
前提,在applicationContext.xml文件中配置spring的扫描器。语句:<context:component-scan base-package=“com.rui” />
目的:为了实现bean的自动载入。
在base-package指明一个包:
<context:component-scan base-package=“com.rui”/>
表明com.rui包及其子包中,如果某个类的头上带有特定的注解@Component,@Repository,@Service或@Controller,就会将这个对象作为Bean注入进spring容器。
有了context:component-scan,另一个context:annotation-config/标签就可以移除掉,因为已经被包含进去了。
context:component-scan提供两个子标签:context:include-filter和context:exclude-filter各代表引入和排除的过滤。