Spring点滴二:Spring Bean】的更多相关文章

一.Spring装配机制 Spring提供了三种主要的装配机制: 1.在XML中进行显示配置 2.在Java中进行显示配置 3.隐式的bean发现机制和自动装配--自动化装配bean Spring可以通过注解来进行自动装配(无需再手动写配置文件),Spring从两个角度实现自动化装配: 1.组件扫描(component scanning):Spring会自动发现应用上下文中所创建的bean; 2.自动装配(autowiring):Spring自动满足bean之间的依赖;--以CD及CD播放器为示…
Bean的自动装配 自动装配(autowiring)有助于减少甚至消除配置<property>元素和<constructor-arg>元素,让Spring自动识别如何装配Bean的依赖关系. 1.1 自动装配Bean属性: Spring提供了四种各具特色的自动装配策略: 1.byName-把与Bean的属性具有相同名字的其他Bean自动装配到Bean的对应属性中.如果没有跟属性的名字相匹配的Bean,则该属性不进行装配. 2.byType-把与Bean的属性具有相同类型的其他Bea…
Spring Bean: 被称作bean的对象是构成应用程序的支柱,是由Spring Ioc容器管理.bean是一个被实例化,配置.组装并由Spring Ioc容器管理对象. 官网API:A Spring IoC container manages one or more beans. These beans are created with the configuration metadata that you supply to the container, for example, in…
Bean初始化 1.bean中实现public void init():方法,config.xml中增加init-method="init" 属性. 2.bean实现接口InitializingBean,实现方法afterPropertiesSet,配置文件无需改动. Bean的使用 1. HelloWorld helloWorld=new HelloWorld(); BeanWrapper bw=new BeanWrapperImpl(helloWorld); bw.setPrope…
本文通过一个简单的登陆实例实现Spring MVC的流程,同时整合 MyBatis使用,流程是这样的: 1.访问一个URL进入登陆界面 2.输入正确的用户名和密码,成功则进入index页面,否则留在登陆页 一.配置web.xml 创建好WEB项目之后的第一步就是配置web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="…
前言 小项目或者做demo时可以使用jdbc+sql server解决即可,这篇就基于spring boot环境使用jdbc连接sql server数据库,和spring mvc系列保持一致. 在spring boot中使用jdbc 连接sql server数据只需要引入两个jar:spring-boot-starter-jdbc.spring-boot-starter-data-jpa 项目结构 和上篇spring boot入门保持相同 pom.xml <dependencies> <…
通过Java代码装配bean 前言:上面梳理了通过注解来隐式的完成了组件的扫描和自动装配,下面来学习下如何通过显式的配置的装配bean: 使用场景:比如说,你想要将第三方库中的组件装配到你的应用中,在这种情况下,是没有办法在它的类上添加@Component和@Autowired注解的,因此就不能使用自动化装配的方案了. 在使用第三方jar包情况下,你必须要采用显式装配的方式.在进行显式配置的时候,有两种可选方案:Java和XML.在这节中,我们将会学习如何使用Java配置,接下来的一节中将会继续…
创建应用对象之间协作关系的行为称为装配(wiring), 这也是DI的本质. Spring中装配Bean的方式 Spring提供了三种装配Bean的方式. 隐式的Bean发现机制和自动装配 Java Config Xml Config Spring可以任意选择三种方式其中的一种或多种组合. 但建议尽量使用自动装配方式以避免产生繁杂的xml配置文件及java代码, 其次是使用类型安全的Java Config, 如果都满足不了需求则最后再考虑xml config. 自动配置 借助于下面两个方面Spr…
Bean装配 Spring提供了3种装配机制: 1)隐式的Bean发现机制和自动装配 2)在Java中进行显示装配 3)在XML中进行显示装配 一)自动化装配 1.指定某类为组件类: @Component public class Dog { private String name = "Jerry"; //省略getter/setter } public interface Person { void introduce(); } //表明该类会作为组件,告知Spring为该类创建b…
spring(二.bean生命周期.用到的设计模式.常用注解) Spring作为当前Java最流行.最强大的轻量级框架,受到了程序员的热烈欢迎.准确的了解Spring Bean的生命周期是非常必要的.我们通常使用ApplicationContext作为Spring容器.这里,我们讲的也是 ApplicationContext中Bean的生命周期.而实际上BeanFactory也是差不多的,只不过处理器需要手动注册.  转载 http://www.cnblogs.com/zrtqsk/p/3735…
控制反转的概念:控制反转是一种通过描述(在Java中或者是XML或者注解)并通过第三方去产生或获取特定对象的方式. 在Spring中实现控制反转的是IoC容器,其实现方法是依赖注入(Dependency Injection, DI). 在Spring中,对象无需自己查找或者创建与其所关联的其他对象.相反,容器负责把需要相互协作的对象引用赋予各个对象. 创建应用对象之间协作关系的行为通常称为装配(wiring),这也是依赖注入(DI)的本质. 依赖注入的3种方式: 构造器注入:构造器注入依赖于构造…
前面介绍完了组件扫描和自动装配,这里再来看一下装配bean的另一种方式JavaConfig. 包路径: src/main/java com.bonc-|--config--|--CDPlayerConfig.java (配置类) |--pojo--- |--CompactDisc.java    (接口CompactDisc) |--SgtPeppers.java      (类SgtPeppers实现了CompactDisc) |--MediaPlayer.java      (接口 Medi…
Spring从两个角度来实现自动化装配: 组件扫描(component scanning):Spring会自动发现应用上下文中需要创建的bean. 自动装配(autowiring):Spring会自动满足bean之间的依赖. 为了更形象的解释组件扫描与自动装配,我们举一个音响系统的例子,主要包含以下内容: CD接口 CD接口的一个实现类 CD播放器 关于CD和CD播放器关系的解释: 如果你不将CD插入(注入)到CD播放器中,那么CD播放器其实是没有太大用处的.所以,可以这样说, CD播放器依赖于…
Spring Bean 生命周期示意图: 了解Spring的生命周期非常重要,我们可以利用Spring机制来定制Bean的实例化过程. --------------------------------------------------------------------------------------------------------------------------------------------------- spring-service.xml: <?xml version=…
实现 初始化方法和销毁方法3种方式: 实现标识接口 InitializingBean,DisposableBean(不推荐使用,耦合性太高) 设置bean属性 Init-method destroy-method 使用注释配置后,调用@PostConstruct和@PreDestroy注解   在Spring中,可以使用 init-method 和 destroy-method 在bean 配置文件属性用于在bean初始化和销毁某些动作时.这是用来替代 InitializingBean和Disp…
© 版权声明:本文为博主原创文章,转载请注明出处 接口 用于沟通的中介物的抽象化 实体把自己提供给外界的一种抽象化说明,用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式 对应Java接口即声明,声明了哪些方法是对外公开提供的 在Java8中,接口可以拥有方法体 面向接口编程 结构设计中,分清层次及调用关系,每层只向外(上层)提供一组功能接口,各层间依赖接口而非实现类 接口实现的变动不影响各层间的调用,这一点在公共服务中尤为重要 面向接口编程中的接口是用于隐藏具…
准备 Person实例 @Data public class Person { private String name; private int age; } xml bean配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.…
Bean 定义 被称作 bean 的对象是构成应用程序的支柱也是由 Spring IoC 容器管理的.bean 是一个被实例化,组装,并通过 Spring IoC 容器所管理的对象.这些 bean 是由用容器提供的配置元数据创建的,例如,已经在先前章节看到的,在 XML 的表单中的 定义. bean 定义包含称为配置元数据的信息,下述容器也需要知道配置元数据: 如何创建一个 bean bean 的生命周期的详细信息 bean 的依赖关系 上述所有的配置元数据转换成一组构成每个 bean 定义的下…
Bean的装配: 在spring容器内拼凑bean叫做装配.装 配bean的时候,需要告诉容器哪些bean 以及容器如何使用依赖注入将它们配合在一起. 上下文定义文件的根元素是<beans>.<beans>有多个<bean>子元素.每个<bean>元素定义了一个 bean如何被装配到spring容器中. <beans> <bean id="foo" class="...Foo"/> <be…
前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习. 一, AspectJ的概述: AspectJ是一个面向切面的框架,它扩展了Java语言.AspectJ定义了AOP语法所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件. Spring为了简化自身的AOP的开发,将AspectJ拿过来作为Spring自身一个AOP的开发.…
一.Spring 官方文档中给出的 Spring 的整体结构. 二.我自己所理解的 Spring 整体结构图. 三.本次总结 Spring 核心部分 1.从上面图中可以看出,Beans 和 Context 和 Core 组件作为 Spring 的核心组件,它们构成了整个 Spring 的骨架. 2.从根本说来说,Spring 最终操纵的还是 Bean,所以说 Bean 是整个 Spring 核心中的核心. 3.和正常编程的思想不同,Spring 把对象之间的依赖关系转而由配置文件进行管理,也就是…
一.基于 XML 的 Bean 的配置——通过全类名(反射) <bean <!-- id: bean 的名称在IOC容器内必须是唯一的若没有指定,则自动的将全限定类名作为 改 bean 的名称-->id="hello" <!-- 通过全类名的方式来配置 bean -->class="com.atguigu.spring.helloworld.HelloWorld"> </bean> 1.通过属性注入 即通过 setXx…
创建Bean实例的方式: 1) 通过构造器(有参或无参) 方式: <bean id="" class=""/> 2) 通过静态工厂方法 方式: <bean id="" class="工厂类" factory-method="静态工厂方法"/> 注: 工厂类实例没有创建 3) 通过实例工厂方法(非静态方法) 方式: <bean id="factory" cla…
[java] view plaincopyprint? Java实例的属性值可以有很多种数据类型.基本类型值.字符串类型.java实例甚至其他的Bean实例.java集合.数组等.所以Spring允许通过如下几个元素为Bean实例的属性指定值: value ref bean list.set.map.props 一.value:设置普通属性值 <value.../>元素用于指定字符串类型.基本类型的属性值.Spring使用XML解析器来解析出这些数据,然后利用java.beans.Proper…
一.Bean的命名 前一篇讲到IoC是一个管理Bean的容器,Bean多数情况下都是通过XML文件进行配置的,其中Bean的命名有以下几种方式,现在梳理一下. 1. 不指定id,只配置类名 <bean class="com.erving.HelloImpl"></bean> 若要调用该Bean,需要用以下语句: HelloApi helloApi = context.getBean(HelloApi.class); 2. 指定id,且id必须在IoC容器中唯一…
项目包结构: src/main/java com.bonc.pojo--|-CompactDisc.java (接口) |-SgtPeppers.java     (实现类 实现 CompactDisc) |-BlankDisc.java        (实现类 实现 CompactDisc) |-MediaPlayer.java     (接口) |-CDPlayer.java          (实现类 实现 MediaPlayer) src/main/resources spring.xm…
Spring 的三种装配Bean的方式 组件扫描+自动装配(隐式) 通过Java config装配bean(显示) 通过XML装配bean(显示) 一.组件扫描+自动装配(隐式配置) 组件扫描: Spring会自动发现应用上下文中所创建的bean 自动装配: Spring会自动满足bean之间的依赖关系 适用情况: 简单bean,初始化不需要基本bean之外的其他参数,无参构造函数或者仅需要其他bean,如果需要其他bean作为属性需要用@Autowired注入,需要事先定义好装配策略. 关键字…
我们开发任何一个Spring Boot项目,都会用到如下的启动类 @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 从上面代码可以看出,Annotation定义(@SpringBootApplication)和类定义(SpringApplication.run)最…
前面讲解了spring的特性之一,IOC(控制反转),因为有了IOC,所以我们都不需要自己new对象了,想要什么,spring就给什么.而今天要学习spring的第二个重点,AOP.一篇讲解不完,所以这篇文章主要介绍一下什么是AOP,如何去理解AOP.理解完之后,在spring中如何使用AspectJ AOP框架的.看得懂,写的出spring配置的那么就学的差不多了.加油.建议都自己手动实现一遍,这样才能更好的理解. --WH 一.什么是AOP? AOP:面向切面编程,采用横向抽取机制,取代了传…
二.Spring的Java配置方式 Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.@Configuration 和 @Bean Spring的Java配置方式是通过 @Configuration 和 @Bean 这两个注解实现的: 1.@Configuration 作用于类上,相当于一个xml配置文件: 2.@Bean 作用于方法上,相当于xml配置中的<bean>: 2.示例 该示例演示了通过Java配置的方式进行配置Spring,并且实现了Spring IO…