由 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工具网。
推荐阅读: