Spring配置的三种主要装配机制
2017-09-06 00:00
162 查看
摘要: Spring Bean的注入方式
在XML中可以通过下面的配置来生成一个bean
3ff0
1.在XML中进行显示配置
对应的java代码如下所示package com.spring; public class Address { private String desc; // getter setter }
package com.spring; public class Car { private String desc; }
package com.spring; public class Student { private String name; private Address address; public Student(Address address) { this.address = address; } }
在XML中可以通过下面的配置来生成一个bean
<?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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <bean id="address" class="com.spring.Address" /> <bean id="car" class="com.spring.Car" /> <bean id="student" class="com.spring.Student"> <constructor-arg ref="address" /><!--构造函数注入 --> <property name="car" ref="car" /><!-- set方法注入--> </bean> </beans>
2.在Java中进行显示配置
package com.spring; public class Address { private String desc; // getter setter }
package com.spring; import org.springframework.stereotype.Component; public class Car { private String desc; }
package com.spring; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @Configuration @ComponentScan(basePackages = "com.spring") public class JavaConfig { @Bean public Car car(){ return new Car(); } @Bean public Address address(){ return new Address(); } @Bean public Student student() { Student student = new Student(address()); student.setCar(car()); return student; } }
3.隐式的bean发现机制和自动装配
package com.spring; import org.springframework.stereotype.Component; @Component("address") public class Address { private String desc; // getter setter }
package com.spring; import org.springframework.stereotype.Component; @Component("car") public class Car { private String desc; }
package com.spring; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component("student") public class Student { private String name; private Address address; private Car car; @Autowired public Student(Address address) { this.address = address; } public Car getCar() { return car; } @Autowired public void setCar(Car car) { this.car = car; } }
@Configuration @ComponentScan(basePackages = "com.spring") public class JavaConfig {}
3ff0
相关文章推荐
- spring的三种主要的装配机制
- Spring中装配bean的三种主要方式
- 使用spring注解 自动装配以及自动扫描机制 实现零xml配置的前提
- 使用spring注解 自动装配以及自动扫描机制 实现零xml配置的前提
- 使用spring注解 自动装配以及自动扫描机制 实现零xml配置的前提
- Spring中装配bean的三种主要方式
- Spring中装配配置文件的三种方式
- Spring中bean的三种装配机制之一—java configure
- Spring中bean的三种装配机制之——自动装配
- 使用spring注解 自动装配以及自动扫描机制 实现零xml配置的前提
- 17年2月27日Java后台学习记录,SSM架构最终配置,Spring回滚机制。
- Spring (一) 加载配置文件,实例化类, 三种实例化bean的方式
- Spring配置datasource的三种方式
- 分享知识-快乐自己:Spring中的(三种)异常处理机制
- spring配置datasource三种方式
- spring对于bean的javaconfig,xml,自动装配三种装配方式实现
- spring配置datasource三种方式
- (笔记)Spring实战_最小化Spring XML配置(1)_自动装配Bean属性
- Spring 全注解配置 bean 和 调用 (4) @Primary 自动装配歧义性
- 框架 day36 Spring3 入门,DI依赖注入,装配bean基于xml/注解, 整合Junit4,配置约束自动提示