1、pom.xml依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.6.RELEASE</version>
</dependency>
2、实体类
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Person {
private int id;
private int age;
private String name;
}
3、实现
import com.it.vo.Person;
import org.springframework.beans.factory.FactoryBean;
public class PersonFactoryBean implements FactoryBean<Person> {
@Override
public Person getObject() throws Exception {
return new Person(1, 23, "张三");
}
@Override
public Class<?> getObjectType() {
return Person.class;
}
@Override
public boolean isSingleton() {
return true;
}
}
import com.it.service.PersonFactoryBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class PersonConfig {
@Bean
public PersonFactoryBean personFactoryBean() {
return new PersonFactoryBean();
}
}
4、测试
import com.it.config.PersonConfig;
import com.it.vo.Person;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class PersonTest {
public static void main(String [] args) {
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(PersonConfig.class);
Object personFactoryBean = applicationContext.getBean("personFactoryBean");
if (personFactoryBean instanceof Person) {
Person person = (Person) personFactoryBean;
System.out.println(person);
}
}
}
//结果:Person(id=1, age=23, name=张三)
本文详细介绍了如何使用Spring框架中的FactoryBean接口创建自定义的bean实例。通过示例代码展示了pom.xml依赖配置、实体类定义、FactoryBean实现以及配置类和测试方法的编写过程。
1327

被折叠的 条评论
为什么被折叠?



