Spring依赖注入,自动扫描组件,自动装配,注解注入
2017-11-06 20:35
627 查看
Spring 依赖注入
Spring框架中,依赖注入(DI)的设计模式是用来定义对象彼此间的依赖。它主要有两种类型:Setter方法注入
构造器注入
<!-- 创建一个 Spring bean 的配置文件,并在这里声明所有的Java对象的依赖。 --> <bean id="gradebeen" class="com.hst.spring.demo.Grade" init-method="init"> <property name="name" value="java班"></property> </bean> <!-- set 设值注入 property ,been中必须要有set方法 --> <bean id="student" class="com.hst.spring.demo.Student"> <property name="name" value="小明"></property> <property name="number" value="1001"></property> <property name="grade" ref="gradebeen"></property> </bean> <!-- 构造方法 constructor,必须要有默认的构造方法 index下标 value属性赋值 ref对象赋值 --> <bean id="user" class="com.hst.spring.demo.User"> <constructor-arg index="0" value="teacher" type="String" /> <constructor-arg index="1" ref="gradebeen"></constructor-arg> </bean>
自动装配
在Spring中,支持 5 自动装配模式。no – 缺省情况下,自动配置是通过“ref”属性手动设定
byName – 根据属性名称自动装配。如果一个bean的名称和其他bean属性的名称是一样的,将会自装配它。
byType – 按数据类型自动装配。如果一个bean的数据类型是用其它bean属性的数据类型,兼容并自动装配它。
constructor – 在构造函数参数的byType方式。
autodetect – 如果找到默认的构造函数,使用“自动装配用构造”; 否则,使用“按类型自动装配”。
1.ref实例
<!-- 创建一个 Spring bean 的配置文件,并在这里声明所有的Java对象的依赖。 --> <bean id="gradebeen" class="com.hst.spring.demo.Grade" init-method="init"> <property name="name" value="java班"></property> </bean> <!-- set 设值注入 property ,been中必须要有set方法 --> <bean id="student" class="com.hst.spring.demo.Student"> <property name="name" value="小明"></property> <property name="number" value="1001"></property> <property name="grade" ref="gradebeen"></property> --------ref </bean>
2.byName 实例
<bean id="customer" class="com.hst.spring.Student" autowire="byName" /> <bean id="person" class="com.hst.spring.Person" />
default-autowire="byName"
5.autodetect实例
xsi:schemaLocation="http://www.springframew 4000 ork.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
default-autowire="autodetect">
注解注入,自动扫描组件
<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-2.5.xsd http://www.springframework.org/schema/context --------- http://www.springframework.org/schema/context/spring-context.xsd"> ---------
<context:component-scan base-package="com.hst.integraimanager.server.impl" /> --------
</beans>
* 自动组件扫描 * @Component – 指示自动扫描组件。 @Repository – 表示在持久层DAO组件。 @Service – 表示在业务层服务组件。 @Controller – 表示在表示层控制器组件。
@Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。
通过 @Autowired的使用来消除 set ,get方法。
相关文章推荐
- 用spring的注解建立bean与bean之间的关系组件装配及自动注入依赖对象
- Spring 注入集合、依赖检查、自动组件扫描、过滤组件自动扫描、自动装配属性
- Spring 3.0 学习-DI 依赖注入_创建Spring 配置-使用一个或多个XML 文件作为配置文件,使用自动注入(byName),在代码中使用注解代替自动注入,使用自动扫描代替xml中bea
- 框架 day36 Spring3 入门,DI依赖注入,装配bean基于xml/注解, 整合Junit4,配置约束自动提示
- Spring2.5中使用注解装配属性and组件自动扫描
- 使用spring注解 自动装配以及自动扫描机制 实现零xml配置的前提
- Spring常用注解,自动扫描装配Bean
- 【译】Spring 4 自动装配、自动检测、组件扫描示例
- 一个和spring整合的依赖注入的servlet,子类可自动装配依赖Bean
- Spring配置组件扫描和自动装配
- Spring自动装配与扫描注解代码详解
- java Spring常用注解,自动扫描装配Bean
- Spring常用注解,自动扫描装配Bean
- 使用spring注解 自动装配以及自动扫描机制 实现零xml配置的前提
- Spring4.0MVC学习资料,注解自动扫描bean,自动注入bean(二)
- Spring(三、Spring Bean自动装配和注解注入)
- spring、IoC控制反转和DI依赖注入入门、基于XML的Bean装配、基于注解的Bean装配
- 使用spring注解 自动装配以及自动扫描机制 实现零xml配置的前提
- Spring常用注解,自动扫描装配Bean
- Spring常用注解,自动扫描装配Bean