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 p:order='202020124546' /> <bean /></beans>
User类
package com.annotationWire.pojo;import lombok.Data;import org.springframework.beans.factory.annotation.Autowired;@Datapublic class User { private String name; @Autowired private Order order;}
Order类
package com.annotationWire.pojo;import lombok.Data;@Datapublic 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实体。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持好吧啦网。
相关文章: