使用Autowired批注进行类实例化

时间:2018-05-31 07:43:17

标签: java annotations

建议使用@Autowired注释来实例化类,如下所示。

@Autowired
public static Car = new Car();

1 个答案:

答案 0 :(得分:0)

案例1

如果您尝试自动装配以下属性:

@Autowired
public Car car;
然后,Spring将尝试在Spring上下文中搜索Bean定义,并且还将实例化它,因此无需再次调用构造函数。

案例2

如果您对构造函数autowire感到困惑,如下所示:

@Autowired
public Driver(License license){
        this.license = license;
}

在这里,它试图让“许可”类的Bean自动装配,并且它不是自动装载驱动程序。

在您的情况下,我认为是案例1。

如果您尝试手动设置它,因为您将其视为未初始化,请检查spring应用程序上下文配置文件/类。你需要有类似的内容:

<context:component-scan base-package="com.test.packagename" />

如果使用AppConfig类,则:

@Configuration
@ComponentScan("com.test.packagename")
public class AppConfig {

}

此外,请确保将spring核心部署在正在执行的lib中。 还要检查您是否使用Spring应用程序上下文实例化该类,如下所示:

AbstractApplicationContext  context = new AnnotationConfigApplicationContext(AppConfig.class);     
 Car car= (Application)context.getBean("car");

尝试引用此内容:http://websystique.com/spring/spring-dependency-injection-annotation-beans-auto-wiring-using-autowired-qualifier-resource-annotations-configuration/

快乐编码DBZ粉丝: - )