文档章节

Spring学习笔记三--autowire

jimyao
 jimyao
发布于 2016/03/06 07:45
字数 387
阅读 26
收藏 1

自动装配
<bean>的autowire属性里指定自动装配
--byType根据类型自动装配
--byName根据名称自动装配


所有的引用都要装配
byType或者byName不能兼有


<?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:p="http://www.springframework.org/schema/p"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="address" class="autowire.Address" p:city="beijing" p:street="dajie">

    </bean>
    <bean id="car" class="autowire.Car" p:brand="audi" p:price="30000"></bean>
    <bean id="person1" class="autowire.Person" p:name="Tom" p:address-ref="address" p:car-ref="car"></bean>
    <!--
        根据属性名自动匹配,没有匹配的不autowire,byName,byType
    -->
    <bean id="person2" class="autowire.Person" p:name="Tom" autowire="byName"></bean>
</beans>
package autowire;


public class Car {
    private String brand;
    private double price;

    public Car() {

    }

    public Car(String brand, double price) {
        this.brand = brand;
        this.price = price;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    @Override
    public String toString() {
        return "Car{" +
                "brand='" + brand + '\'' +
                ", price=" + price +
                '}';
    }
}
package autowire;


public class Address {
    private String city;
    private String street;

    public Address() {

    }

    public Address(String city, String street) {
        this.city = city;
        this.street = street;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getStreet() {
        return street;
    }

    public void setStreet(String street) {
        this.street = street;
    }

    @Override
    public String toString() {
        return "Address{" +
                "city='" + city + '\'' +
                ", street='" + street + '\'' +
                '}';
    }
}
package autowire;

public class Person {
    String name;
    Address address;
    Car car;

    public Person() {

    }

    public Person(String name, Address address, Car car) {
        this.name = name;
        this.address = address;
        this.car = car;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

    public Car getCar() {
        return car;
    }

    public void setCar(Car car) {
        this.car = car;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", address=" + address +
                ", car=" + car +
                '}';
    }
}
package autowire;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;


public class Main {
    public static void main(String[] args) {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("autowire//autowire.xml");
        Person p1 = (Person)ctx.getBean("person1");
        System.out.println(p1);

        Person p2 = (Person)ctx.getBean("person2");
        System.out.println(p2);
    }
}


© 著作权归作者所有

jimyao
粉丝 17
博文 66
码字总数 27856
作品 0
朝阳
私信 提问
Spring学习笔记1——基础知识

1.在java开发领域,Spring相对于EJB来说是一种轻量级的,非侵入性的Java开发框架,曾经有两本很畅销的书《Expert one-on-one J2EE Design and Development》和《Expert one-on-one J2EE deve...

李长春
2011/10/09
0
0
【转】SpringMVC、Spring的Bean

一、简述Spring Spring是一个轻量级的Java 开发框架。他使用基本的JavaBean来完成以前只可能由EJB【Enterprise JavaBean】完成的事情。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向...

涅槃Ls
2017/04/07
0
0
junit 测试错误: Failed to load ApplicationContext

java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegat......

Liem_
2016/08/11
2.4K
2
Mybatis 学习笔记三 搭配pageHelper分页插件使用

Mybatis 学习笔记三 搭配pageHelper分页插件使用 基于《Mybatis 学习笔记二 与spring搭配》 maven依赖 配置 mybatis配置 conf.xml 注意:保持基本配置即可; spring配置 applicationContext...

晨猫
2018/11/16
0
0
为什么applicationContext.xml和spring-servlet.xml中都有注解过滤 和<context:component-scan base-package="myproject.

在刚学习SpringMVC框架整合时,你也许会产生疑问为什么Spring.xml和SpringMVC.xml中都有注解过滤。 和 在这里有一个比较有意思的问题,初学者也会产生困惑,那么他究竟有何不同?我思考和查询...

yaohong
2016/09/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何在工作中快速成长?致工程师的10个简单技巧

阿里妹导读:阿里有句非常经典的土话,“今天的最好表现,是明天的最低要求。”如何挖掘潜能、发现更好的自己?今天,阿里巴巴高级无线开发专家江建明将认知升级的方法总结出来,帮助你获得快...

阿里云云栖社区
30分钟前
1
0
PHP和Redis实现在高并发下的抢购及秒杀功能

抢购、秒杀是平常很常见的场景,面试的时候面试官也经常会问到,比如问你淘宝中的抢购秒杀是怎么实现的等等。 抢购、秒杀实现很简单,但是有些问题需要解决,主要针对两个问题: 一、高并发对...

xiaogg
32分钟前
1
0
从数据上看:谁才是漫威的绝对C位

复联4上映了!这次比美国还早了两天。当然,我还没看,不会给你们剧透,当然也不想不剧透。 这一部不仅是灭霸这一线剧情的结局,也被认为漫威第三阶段的收官之作。据说此部之后,不少影迷熟知...

crossin
45分钟前
4
0
Spring Cloud底层原理

毫无疑问,Spring Cloud 是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。 不过大多数讲解还停留在对 Spring Cloud 功能使用的层面,其底层的很多原理,很多人可能并不知晓。 ...

月下狼
55分钟前
8
0
Linux重启Tomcat

在测试过程中,要构建测试环境,还经常要重启Tomcat排查问题,重启Tomcat的步骤: 1、首先查看Tomcat是否有启动或重复启动? 输入命令ps -aux|grep java按回车键,可见下图,是有一个Tomcat启...

测试龙管家
56分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部