Java 如何使用@Autowired注解自动注入bean

Java @Autowired注解自动注入bean

annotationWire.xml (一定记得配置context:annotation-config/)



    
    
    

User类

package com.annotationWire.pojo;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
@Data
public class User {
    private String name;
    @Autowired
    private Order order;
}

Order类

package com.annotationWire.pojo;
import lombok.Data;
@Data
public class Order {
    private String order;
}

测试类

package com.annotationWire;
import com.annotationWire.pojo.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestAnnotation {
    @Test
    public void test(){
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("annotationWire.xml");
        User student = applicationContext.getBean(User.class);
        System.out.println(student);
    }
}

java配置spring,无法@Autowired自动注入bean的问题

要在配置类上加上@ComponentScan

同时在RootConfigure和ServletConfig两个类上scan的对象是不同的

ServletConfig是用来注册DispatcherServlet的,它只是用来扫描controller层的

RootConfigure用来注册ContextLoaderListener,他扫描的范围是除了controller以外的bean,例如dao,service,bean实体。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(Java 如何使用@Autowired注解自动注入bean)