Spring Bean装配方式】的更多相关文章

Spring装配机制 在xml中进行显示配置 在Java中进行显示配置 隐式bean发现机制和自动装配 自动化装配bean 组件扫描(component scanning),Spring会自动发现应用上下文中的bean 自动装配(autowiring),Spring自动满足bean之间的依赖 Speak.java public interface Speak { void say(); } ChineseSpeak.java @Component("chineseSpeak") pub…
装配 Bean 的概述 前面已经介绍了 Spring IoC 的理念和设计,这一篇文章将介绍的是如何将自己开发的 Bean 装配到 Spring IoC 容器中. 大部分场景下,我们都会使用 ApplicationContext 的具体实现类,因为对应的 Spring IoC 容器功能相对强大. 而在 Spring 中提供了 3 种方法进行配置: 在 XML 文件中显式配置 在 Java 的接口和类中实现配置 隐式 Bean 的发现机制和自动装配原则 方式选择的原则 在现实的工作中,这 3 种方…
@Repository,@Service,@Controller这三个注解是基于component定义的注解 component-scan:组件扫描 base-package:扫描这个下的所有类 <context:component-scan>和<context:annotation-config>的区别: 前者可以扫描基于类的注解,但是后者只能在完成bean的注册之后去处理bean中的方法或者是成员变量的注解,在使用前者的时候已经包含了后者的全部功能,通常在开发的过程使用的是前者…
Bean:在spring的IOC里面,把配置到IOC容器里面的实体或者是对象都称为Bean Bean配置项 Bean的作用域 Bean的生命周期 Bean的自动装配 Resources&ResourceLoader Id:在整个IOC容器中这个Bean的唯一标识 Class:具体要实例化的哪一个类 Scope:范围(作用域) Constructor arguments:构造器的参数 Properties:属性 Autowiring mode:自动装配的模式 Lazy-initialization…
第4章 Spring Bean装配(下) 介绍Bean的注解实现,Autowired注解说明,基于java的容器注解说明,以及Spring对JSR支持的说明 4-1 Spring Bean装配之Bean的定义及作用域的注解实现 base-package="org.example":扫描这个包下的所有类 可以扫描基于类的注解 只能在完成bean的注册之后,去处理bean中的方法或者是成员变量的注解 自己的理解:类被自动发现并注册bean的条件时:使用注解. 4-2 Spring Bean…
Spring Bean装配笔记 Spring中的Bean是一个很重要的概念.Spring作为一个Bean容器,它可以管理对象和对象之间的依赖关系,我们不需要自己建立对象,把这部分工作全部转交给容器完成,具有低耦合,对代码没有侵略性. 目前本人的水平还不足以透彻的分析Spring是如何来构建Bean的装配的概念的,这里仅来记录总结Spring中多种Bean的装配方式. Spring的配置方式有Java类配置形式与XML配置两种形式.大致提一下,不赘述,如下: // Java类config形式,需要…
第3章 Spring Bean装配(上) 介绍Bean的作用域.生命周期.Aware接口.自动装配和Resource等内容. 3-1 Spring Bean装配之Bean的配置项及作用域 从上至下依次理解为: id:整个IOC容器中这个bean的唯一表示 class:具体要实例化的类 Scope:作用域 构造器的参数 属性 自动装配模式 懒加载模式 初始化和销毁的方法 3-2 Spring Bean装配之Bean的生命周期 3-3 Spring Bean装配之Aware接口 3-4 Spring…
Spring容器负责创建应用程序中的bean同时通过ID来协调这些对象之间的关系.作为开发人员,我们需要告诉Spring要创建哪些bean并且如何将其装配到一起. spring中bean装配有两种方式 隐式的bean发现机制和自动装配 在java代码或者XML中进行显示配置 当然这些方式也可以配合使用. 我们测试代码如下 CompactDisc和MediaPlayer是两个接口 其中MediaPlayer的构造方法参数类型为CompactDisc.我们主要测试CompactDisc和MediaP…
解释:所谓装配就是把一个类需要的组件给它设置进去,英文就是wire,wiring:注解Autowire也叫自动装配. 目前Spring提供了三种配置方案: 在XML中进行显式的配置 在Java中进行显式的配置 隐式的bean发现机制和自动装配 就我个人而言,用XML和自动装配混搭最多,用Java代码进行装配用的最少,几乎不用.这三种配置方案提供的功能会有重叠,大部分都可以根据个人喜好来选择.Spring的配置风格是可以相互搭配的,三种方式可以共存. 三者的适用范围: XML > JavaConf…
版权声明:本文为博主原创文章,如需转载请标注转载地址. 博客地址:http://www.cnblogs.com/caoyc/p/5619525.html  Spring bean提供了3中注入方式:属性注入和构造方法注入 1.属性注入: <bean id="dept" class="com.proc.bean.Dept"> <property name="id" value="2"/> <prop…
1. Bean注入三种方式: A. 包扫描 + 组件标注注解(@Controller/@Service/@Repository/@Component),适用场景:自己写的类: B. @Bean或xml配置,适用场景:导入的第三方包里面的组件: C. @Import(自定义类)注解,适用场景:快速给容器中导入一个组件, I. 直接注入: II.实现 ImportSelector接口多个类 注入: III. 实现ImportBeanDefinitionRegistrar接口单个注入. 可参考:htt…
本节主要讲述以下内容: 1 简述 2 代码演练 2.1 注解qualifier运用 1 简述 1.1 何种情况使用qualifier注解? a 按类型自动装配多个bean实例,可以用@qualifier指定唯一 b 目标是构造器或一个多参方法时,最好使用qualifiers,否则用resource(只有一个参数的setter方法) 1.2 xml方式如何运用qualifier <bean class="com.ddwei.bean"> <qualifier value…
注意:xml配置中bean节点下scope属性默认值为singleton(单例),在需要多例的情况下需要配置成prototype spring提供三种实例化方式:默认构造.静态工厂.实例工厂 一.默认(无参)构造:就是经常使用的方式,xml-><bean id="" class=""></bean> 二.静态工厂:工厂工具类,提供的方法都是static静态的 1.沿用上一个工程,基本结构如下: 2.新建CategoryService类…
1 解析 1.1 什么是泛型? 1.2 泛型有什么作用? 1.3 泛型装配样式? 2 代码演练 2.1 泛型应用 1 解析 1.1 什么是泛型? Java泛型设计原则:只要在编译时期没有出现警告,那么运行时期就不会出现ClassCastException异常. 泛型:把类型明确的工作推迟到创建对象或调用方法的时候才去明确的特殊的类型 1.2 泛型有什么作用? 早期Java是使用Object来代表任意类型的,但是向下转型有强转的问题,这样程序就不太安全 首先,我们来试想一下:没有泛型,集合会怎么样…
1 解析 1.1 bean的单例和多例的应用场景 1.2 单例多例的验证方式 1.3 @Scope注解单例多例应用 2 代码演练 2.1 @Scope代码应用 1 解析 1.1 bean的单例和多例的应用场景 1.1.1  什么是单例多例: 所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和dao层的对象通常都是单例的,而多例则指每个请求用一个新的对象来处理,比如action;  1.1.2. 如何产生单例多例:    在通用的SSH中,单例在spring中是默认的,如果要…
1 解析 1.1 这两个注解应用在什么地方 1.2 应用方式 1.3 xml方式实现取值 2 代码演练 2.1 @ImportResource和@Value代码演练 1 解析 1.1 这两个注解应用在什么地方 接口调用,java与properties文件交互获取url和用户名密码等配置信息 1.2 应用方式 java类通过调用@Importresource找到xml,通过xml配置properties 示例: @Configuration @ImportResource("classpath:c…
课程链接: 本节主要讲了以下几块内容 1 注解相关解析 2 代码演练 集合for循环的使用 2.1 list集合应用 2.2 map集合应用 2.3 集合排序(只对list有效,对map无效(list有序,map无序)) 1 注解相关解析 1.1 autowired注解应用到集合属性可以提供所有特定类型的bean 1.2 autowired可以提供集合中实体类的bean和子类的bean(继承,详情见下方代码) autowired注解不能应用在Spring BeanPostProcessor或者B…
课程链接: 1 解析 2 代码演练 1 解析 1.1 @Required注解 该注解适用于bean属性的set方法 1.2 @Autowired 作用: 是为了把依赖的对象,自动的注入到bean里 使用方式: 1 @autowired required的默认值为false 2 每个类中只有一个构造器被标记为required=true 3 @autowired(required=false):如果找不到实体类,不报错. 4 可以添加到成员变量或者方法上边 2 代码演练 2.1 autowired作…
课程链接: 1 自动装配的方式 2 自动装配实现 1 自动装配的方式 根据反射的机制 1.1 byName根据属性名自动装配,类似于依赖注入的set注入.(如果找不到set属性中的bean,如果test中用try方法的话,报空指针异常) 1.2 byType根据类名进行注入,xml配置文件beanId可以不用写 1.3 constructor应用于构造器参数.(找不到构造器参数一致的bean,抛异常) 2 自动装配实现 2.1 自动装配byName: 该方式实现方式与set注入类似,唯一不同之处…
课程链接: 本节主要讲了三大块内容 1 bean的生命周期概念 2 bean的初始化和销毁的三种方式对比(代码演练) 3 总结 1 bean的生命周期概念 1.1 bean的定义:xml中关于bean的配置,bean的id和bean的class等. 1.2 bean的初始化:ioc容器启动的时候加载xml文件中的bean生成实例. 1.3 bean的使用:bean容器中取出bean的实例并使用 1.4 bean销毁:指的是bean销毁时回收由这个bean创建的所有bean实例. 2 bean的初…
马士兵 源码方法论 不要忽略源码中的注释 先梳理脉络,再深入细节 大胆猜测.小心求证 见名知意 hold on 对源码有兴趣的都是变态 为了钱! Spring IoC Spring容器帮助管理对象,不需要程序员去new. <!-- applicationContext.xml --> <bean id=? class=?> <property name=? value=?/> <property name=? ref=?/> <bean/> &l…
1 解析 1.1 疑问:2.2去掉@resource注解,为什么不能赋值?不是有set方法了吗? 1.2 @resource注解版本支持 1.3 没有显式指定@resource的那么,默认名称从何获得? 1.4 @postConstruct 和@predestroy注解版本 支持 1.5 @named 和 @inject 依赖注入注解的 版本支持 2 代码演练 2.1 给变量赋值(方法一) 2.2 给变量赋值(方法二) 2.3 注解PostConstruct 和注解 PreDestroy(前置注…
1 解析 2.1 @bean注解定义 2.2 @bean注解的使用 2 代码演练 2.1 @bean的应用不带name 2.2 @bean的应用带name   2.3 @bean注解调用initMethod和destroyMethod 1 解析 2.1 @bean注解定义 @bean标识一个用于配置和初始化一个由springIOC容器管理的新对象的方法(生成ioc容器的bean实例),类似于xml配置的</bean> 2.2 @bean注解的使用 a 通常注解@bean和@Configurat…
课程链接: 1 概述 2 代码演练 3 代码解析 1 概述 1.1 bean注解相关 a context:component-scan标签使用 问:该标签的作用是什么? 答:该标签作用是支持注解,在xml配置文件中不用配置bean了 问:该标签的使用条件是什么? 答:spring3.0之后才支持该标签的使用 b 类注解相关 @Component 通用类注解(所有实体类都可以用该注解) @Repository    注解dao类(持久层) @Service 注解Service类(服务层) @Con…
课程链接: 1 resource简析 2 resource代码演练 1 resource简析 urlsource:url对应的资源 classpath:获取类路径下的资源文件 filesystemresource:获取文件系统里面的资源 servletContextResource:servlet封装的资源 inputStreamResource:输入流封装的资源 ByteArrayResource:字节数组封装的资源 2 resource代码演练(可以配置在右键项目==>build path=…
课程链接: 本节主要介绍了以下内容: 1 aware介绍 2 代码演练 3 课程总结 1 aware介绍 1.1 为什么要使用aware? 在java类中,可以方便的获取xml配置文件中的bean的各个属性.通过不同的aware可以获取不同的bean的属性 1.2 有哪些类型的aware? 常见的有: applicationContextAware(获取bean) beanNameAware(获取beanname) 还有 beanFactoryAware等等 2 代码演练 2.1 applica…
课程链接: 本节主要讲了四大块 1 bean的作用域 2 bean作用域代码演练 3 单例 多例应用场景 4 bean的配置项(不重要) 1 bean的作用域 1.1 singleton :单例 1.2 prototype :多例 不重要: 1.3 request    :每次http请求创建一个实例且仅在当前request有效 1.4 session    :每次http请求创建,当前session内有效 1.5 global session:基于portlet的web有效(portlet中定…
最近又买了一本介绍SSM框架的书,是由黑马程序员编写的,书上讲的很好理解,边看边总结一下.主要总结一下bean的装配方式. Bean的装配可以理解为依赖系统注入,Bean的装配方式即Bean依赖注入的方式.Spring容器支持多种形式的Bean装配方式,如基于XML的装配.基于注解(Annotation)的装配方式和自动装配等(其中最常用的是基于注解的装配). 基于xml的装配 Spring 提供了两种基于xml的装配方式:设值注入(Setter Injection)和构造注入(Construc…
Spring容器负责创建应用程序中的bean同时通过ID来协调这些对象之间的关系.作为开发人员,我们需要告诉Spring要创建哪些bean并且如何将其装配到一起. spring中bean装配有两种方式 隐式的bean发现机制和自动装配 在java代码或者XML中进行显示配置 参考链接:spring Bean装配的几种方式简单介绍…
装配 Bean 的概述 前面已经介绍了 Spring IoC 的理念和设计,这一篇文章将介绍的是如何将自己开发的 Bean 装配到 Spring IoC 容器中. 大部分场景下,我们都会使用 ApplicationContext 的具体实现类,因为对应的 Spring IoC 容器功能相对强大. 而在 Spring 中提供了 3 种方法进行配置: 在 XML 文件中显式配置 在 Java 的接口和类中实现配置 隐式 Bean 的发现机制和自动装配原则 方式选择的原则 在现实的工作中,这 3 种方…