Spring学习回顾(六)bean的注解配置

bean的注解配置


前面通过示例已经看到,从Spring的2.5版本之后不但引入了p命名空间来简化xml,而且还开始支持注解的配置方式,几乎消灭了配置文件。需要实例化的类不需要再在配置文件中一个一个的进行配置,而是Spring通过扫描指定的位置,来自动的配置管理bean。接下来创建以下类,来感受注解配置方式的好处。
Person类:具有自我介绍方法

package com.me.spring;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

@Repository
public class Person {
    @Autowired
    private Computer computer; // 电脑
    private String name; // 姓名
    private int age; // 年龄

    /**
     * 自我介绍
     * */
    public void introduce(){
        System.out.println("我叫"+name+",今年"+age+"岁,有一台"+computer.getColor()+computer.getType());
    }
    // getter and setter......
}

Computer类:

package com.me.spring;

import org.springframework.stereotype.Repository;

@Repository
public class Computer {
    private String type;  // 电脑品牌
    private String color; // 颜色
    // getter and setter......
}

要实现Person类的自我介绍,按照传统的配置方式,要先进行如下配置:

<bean id="person" class="com.me.spring.Person">
    <property name="name" value="Kim"></property>
    <property name="age" value="22"></property>
    <property name="computer" ref="computer"></property>
</bean>
<bean id="computer" class="com.me.spring.Computer">
    <property name="type" value="联想电脑"></property>
    <property name="color" value="黑色"></property>
</bean>

运行测试,结果:

我叫Kim,今年22岁,有一台黑色联想电脑

这样有一大堆的配置,现在我们要使用扫描注解方式,可以把这些配置都去掉了,只需要再配置文件中添加一行扫描配置即可,如下:

<context:component-scan base-package="com.me.spring"></context:component-scan>

注:base-package即为扫描的包路径,也可使用通配符的方式扩大扫描范围,如:com.me.*
前面创建类,已经加上注解:

  • @Repository:将该类bean的创建配置和管理交由SpringIOC容器;
  • @Autowired:将依赖的bean自动装配到对应的bean,建立关系,例子中把Computer类的bean自动装配到有引用关系的Person类的bean中;
    测试一下:
Person person = (Person)context.getBean("person");
person.setName("Kim");
person.setAge(22);
Computer computer = (Computer)context.getBean("computer");
computer.setType("苹果电脑");
computer.setColor("银白色");
person.introduce();

运行结果:

我叫Kim,今年22岁,有一台银白色苹果电脑

其中,Spring在扫描创建bean的时候,名称默认以类名的首字母小写定义,所以获取的时候就使用类名的首字母小写获取。
从上面的例子可以看出,注解配置方式大大简化了配置文件,所有的配置浓缩为一行配置。不过对于注解配置的内容,远远不止这些,这里只是示范了实际中使用最频繁的,其他未涉及部分,还需深入了解!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值