Spring自动装配的注解用法

来源:互联网 发布:美团云 阿里云 编辑:程序博客网 时间:2024/05/21 08:03

昨天闲来无事,调了个Spring注解的实例,挺有收获,小Show下:

使用XML配置文件时需要写明要又Spring管理的实例对象的实例名和完整路径,而这些实例的一般产生方式(单例模式)和命名(类名首字母小写)一般挺固定,如果需要Spring管理的对象挺多的话用XML配置起来有些麻烦。采用注解的话,只需一两个注解标签就可搞定。下面简单谈下自己的理解:

     注解和XML配置文件道理上是类似的:使用配置文件只不过是把交由Spring容器管理的对象统一组织了起来,查看时方便。注解呢是在代码里添加标记,而Spring容器在编译前后或运行时跟据这些标记完成对象的实例化和注入。

     @Autowired标签设置在setter方法上表明该方法的参数从Spring容器里查找并由Spring完成注入。

     @Component添加在类定义代码前表明在Spring容器里实例化该类型一个对象,默认以类名的首字母小写形式为对象实例名,也可以自定义指定要实例化的对象名(name="")。另外需要注意:实例化对象的产生方式(singleton/prototype)。

     @Resource使用范围更广泛的一个标记,可以用它指定各样的资源如URL/InputStream/Classpath/xml文件。。。完全可以用它再指定属性name实现@Component的效果。

如果用到上面的注解标记,需要在XML配置文件里加上如下标签

     <context:annotation-config />
     <context:component-scan base-package="your package。。" />

对于第一个标签自己实验后发现有时不加也行,它的作用没深入研究,以后多接触后再探讨;而第二个标签如果你用到@Component注解标记那么它是必须的,它是Spring查找@Component标记的类从而完成对象实例化所要搜索的包,如果指定错了Spring就不会为@Component标记的类生成对象实例,我们使用时会得到空指针。