spring怎么注入bean?spring注入bean的几种方式

由 Spring IoC 容器管理的对象称为 Bean,Bean 根据 Spring 配置文件中的信息创建。那作为java程序员要如何使用spring注入bean呢?下面我们就给大家分享几种spring注入bean的方式。

一.通过注解注入的一般形式

Bean类

public class TestBean
{}

Configuration类

@Configuration注解去标记了该类, 这样标明该类是一个Spring的一个配置类, 在加载配置的时候会去加载他。

@Bean的注解, 标明这是一个注入Bean的方法, 会将下面的返回的Bean注入IOC。

//创建一个class配置文件
@Configuration
public class TestConfiguration
{
    //将一个Bean交由Spring进行管理
    @Bean
    public TestBean myBean()
    {
        return new TestBean();
    }
}

测试类

ApplicationContext context = new 
AnnotationConfigApplicationContext(TestConfiguration.class);
TestBean testBean = cotext.getBean("testBean",TestBean.class);
System.out.println("testBean = " + testBean);

二、通过set方法注入Bean

我们可以在一个属性的set方法中去将Bean实现注入

Bean类

@Component

public class TestBeanSet
{
    private AnotherBean anotherBeanSet;
    @Autowired
    public void setAnotherBeanSet(AnotherBean anotherBeanSet)
    {
        this.anotherBeanSet = anotherBeanSet;
    }
    @Override
    public String toString()
    {
        return "TestBeanSet{" +
            "anotherBeanSet=" + anotherBeanSet +
            '}';
    }
}

Configuration类

@Configuration
@ComponentScan("com.company.annotationbean")
public class TestConfiguration
{}

Test类

ApplicationContext context = new 
AnnotationConfigApplicationContext(TestConfiguration.class);
TestBean testBean = cotext.getBean("testBean",TestBean.class);
System.out.println("testBean = " + testBean);

三、通过List注入Bean

TestBeanList类

@Component
public class TestBeanList
{
    private ListstringList;
    @Autowired
    public void setStringList(ListstringList)
    {
        this.stringList = stringList;
    }
    public ListgetStringList()
    {
        return stringList;
    }
}

TestConfiguration类()配置类

@Configuration
@ComponentScan("annoBean.annotationbean")
public class TestConfiguration
{
    @Bean
    public ListstringList()
    {
        ListstringList = new ArrayList();
        stringList.add("List-1");
        stringList.add("List-2");
        return stringList;
    }
}

这里我们将TestBeanList进行了注入,对List中的元素会逐一注入。

下面我们换一种注入List方式

TestConfiguration类

@Bean
//通过该注解设定Bean注入的优先级,不一定连续数字
@Order(34)
public String string1()
{
    return "String-1";
}
@Bean
@Order(14)
public String string2()
{
    return "String-2";
}

注入与List中泛型一样的类型,会自动去匹配类型,及时这里没有任何List的感觉,只是String的类型,但他会去通过List的Bean的方式去注入。

spring注入bean我们可以利用以上这几种方式,要是在开发中我们也需要在spring注入bean,可以选择上边的方法,Spring 作为 Java EE 编程领域的一款轻量级的开源框架,简化了开发过程,我们需要掌握spring的相关操作才能更好的使用spring!最后大家如果想要了解更多java架构师知识,敬请关注奇Q工具网。

推荐阅读:

git合并分支是只会合并修改过的吗?怎么进行分支合并?

qt如何添加图片资源?qt怎么定义信号函数?

我的世界java版怎么联机?我的世界java版联机方法