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

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

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

夫妇一条心,泥土变黄金。

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

相关文章:

你感兴趣的文章:

标签云: