Spring学习之旅(一):Bean的基础装配

本文介绍了Spring框架中Bean的三种装配方式:隐式Bean发现机制、通过Java配置类装配Bean及用XML文件实现Bean的装配。文章详细解释了每种方式的具体操作步骤。

Bean的基础装配有三种装配方法:
一:隐式Bean发现机制:
Bean的发现机制基于组件扫描和自动装配两种机制。
组件扫描:
1.在要创建Bean的类上添加注解@Component,然后它生成的Bean ID 会以类名按一定的规则命名,如:类名是FirstClass,则生成的Bean ID 是 firstClass。如果想要自定义Bean Id,使用@component(“自定义的Bean ID”)
2.在配置类中(用@Configuation注解的类为配置类)添加注解@ComponentScan,然后就会扫描配置类所在包及其子包中带有注解@Component的类,然后为它生成Bean。可显示配置要扫描的包,就是@ComponentScan(basePackages={“包名”,“包名”…..}),但是这种方法是类型不安全的,还有另一种方法,@ComponentScan(basePackageClasses={类名1.class,类名2.class……}),这样就会扫描包含类名1和类名2的包。
自动装配:
1.在要注入Bean的方法前添加注解@Autowired实现自动装配。
2.方法可以包括构造器,Set方法等等的任何方法。都可以用@Autowired注解。

二:通过java配置类装配Bean:
1.创建java配置类——用@Configuration注解的类。
2.创建装配Bean的方法,用@Bean注解该方法,例如要装配FirstClass类:

    @Configuration
    public class FirstConfig
    {
        @Bean
        public FirstClass firstClass()
        {
            return new FirstClass();
        }
    }

所创建的BeanId就是你创建该Bean的方法名。
创建需要注入的Bean:假设也是FirstClass,不过要注入SecondClass Bean

@Configuration
public class FirstConfig
{
    @Bean
    public FirstClass firstClass(SecondClass secondClass("这个是BeanID名"))
    {
        return new FirstClass(secondClass);
    }
}

三:用XML文件实现Bean的装配:

<Bean id="自定义Bean Id" class="要创建Bean的类名">
    <Constructor-arg  ref="需要注入的Bean Id" />    //构造器注入Bean
    <Constructor-arg value="字面量" /> //构造器注入字面量,就是非String之类的
    <Constructor-arg>
        <list/set等等>
            <value>字面量的值</value>
            <value>字面量的值</value>     //构造器注入字面量集合
        </list/set等等>
    </Constructor-arg>

    <Constructor-arg>
        <list/set等等>
            <ref:bean="Bean Id" />
            <ref:bean="Bean Id" />    //构造器注入Bean集合
        </list/set等等>
    </Constructor-arg>

    <property name="set方法上的参数名" ref="要注入的Bean Id" /> //在set方法注入bean。
    <property name="set方法上的参数名" value="要注入的字面量" //在set方法注入字面量。
    <property>
        <list/set等等>
            <value>集合中的字面量</value>  //set方法中注入字面量集合
        </list/set等等>
    </property>
    <property>
        <list/set等等>
            <ref bean="集合中的Bean" />   //set方法中注入Bean集合
        <list/set等等>
    </property>
</Bean>

注意:Spring中Bean默认是单例的,即多次注入,实际是注入同一个Bean实例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值