java @autowired注解自动注入bean

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

<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
       xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
       xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
    <context:annotation-config/>
    <bean id="order" class="com.annotationwire.pojo.order" p:order="202020124546" />
    <bean id="user" class="com.annotationwire.pojo.user" />
</beans>

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实体。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。