spring常用的几个aware bean接口】的更多相关文章

BeanNameAware 作用:让Bean获取自己在BeanFactory配置中的名字(根据情况是id或者name). Spring自动调用.并且会在Spring自身完成Bean配置之后,且在调用任何Bean生命周期回调(初始化或者销毁)方法之前就调用这个方法.换言之,在程序中使用BeanFactory.getBean(String beanName)之前,Bean的名字就已经设定好了. BeanFactoryAware 要直接在自己的代码中读取spring的bean,我们除了根据常用的set…
1 引入context命名空间(在Spring的配置文件中),配置文件如下: xmlns:context="http://www.springframework.org/schema/context" http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd 打开配置 <context:component-sc…
<spring源码之:循环依赖> AbstractBeanFactory的作用:别名管理,单例创建与注册,工厂方法FactoryBean支持. 由图我们直接的看出,AbstractBeanFactory继承了FatoryBeanRegistrySupport的同时,也实现了ConfigurableBeanFactory,可想而知abstractFactoryBean的功能有多强大,这里只是简单的猜测,我们来看它的具体实例. 一. AbstractBeanFactory的作用 api里是这样说的…
Spring中提供一些Aware相关接口,像是BeanFactoryAware. ApplicationContextAware.ResourceLoaderAware.ServletContextAware等等,实作这些 Aware接口的Bean在被初始之后,可以取得一些相对应的资源,例如实作BeanFactoryAware的Bean在初始后,Spring容器将会 注入BeanFactory的实例,而实作ApplicationContextAware的Bean,在Bean被初始后,将会被注入…
###spring常用jar包1.spring.jar是包含有完整发布模块的单个jar包.2.org.springframework.aop包含在应用中使用Spring的AOP特性时所需要的类.3.org.springframework.aspects提供了面向切面的功能.4.org.springframework.beans所有应用都要用到的,包含访问配置文件/创建和管理bean 以及进行Inversion of Control/Dependency Injection(IOC/DI)操作相关…
spring模块 Spring-Core: Core包是框架的最基础部分,并提供依赖注入(Dependency Injection)管理Bean容器功能. Spring-Context:(Spring核心容器<上下文模块>) 核心模块的BeanFactory使Spring成为一个容器,而上下文模块使它成为一个框架.这个模块扩展了BeanFactory的概念,增加了对国际化(I18N)消息.事件传播以及验证的支持. 另外,这个模块提供了许多企业服务,例如电子邮件.JNDI访问.EJB集成.远程以…
简单介绍一下上下文,userService是服务层接口有一个save方法,userServiceImpl是该接口的实现类重写了save方法. applicationContext.xml如图: 后台代码如图: 问题是:在后台代码当中为什么取到bean后要强转成接口类型(UserService)而不是实现类类型(UserServiceImpl) 问题的起因是我们一般在使用多态的时候都是这样用的: UserService userService = new UserServiceImpl(); //…
问: 这个问题困扰了我好久,一直疑问这个接口的bean是怎么注入进去的?因为只看到使用@Service注入了实现类serviceImpl,使用时怎么却获取的接口,而且还能调用到实现类的方法,难道这个接口是在什么时候自动注入了进去,且和实现类关联上了? 接口 public interface TestService { public String test(); } 实现类impl @Servicepublic class TestServiceImpl implements TestServic…
OK,上篇博客我们介绍了Spring中一些常见的配置,上篇博客中介绍到的都是非常常见的注解,但是在Spring框架中,常见的注解除了上篇博客提到的之外,还有许多其他的注解,只不过这些注解相对于上文提到过的注解使用频率稍微低一些,当然这个使用频率只是相对而言.OK,那么接下来我们就再来了解Spring中的几个注解. Spring Aware 一般情况下,我们在使用Spring框架时,Bean和Spring容器之间的耦合度是非常低的,我们甚至可以把Spring容器替换成其他的容器,这样当然非常方便.…
目录 前言 1.Aware 系列接口 2.InitializingBean 3.BeanPostProcessor 4.BeanFactoryPostProcessor 5.ImportSelector 6.ImportBeanDefinitionRegistrar 7.FactoryBean 8.ApplicationListener 最后 前言 Spring 提供了非常多的扩展接口,官方将这些接口称之为钩子,这些钩子会在特定的时间被回调,以此来增强 Spring 功能,众多优秀的框架也是通过…
Spring Ioc源码分析系列--Bean实例化过程(二) 前言 上篇文章Spring Ioc源码分析系列--Bean实例化过程(一)简单分析了getBean()方法,还记得分析了什么吗?不记得了才是正常的,记住了才是怪人,忘记了可以回去翻翻,翻不翻都没事, 反正最后都会忘了. 这篇文章是给上篇填坑的,上篇分析到真正创建Bean的createBean(beanName, mbd, args)就没有继续深入去分析了,绕得太深,说不清楚.那么这一篇,就续上这个口子,去分析createBean(be…
传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点:1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件,那么.xml文件又会非常多.总之这将导致配置文件的可读性与可维护性变得很低.2.在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率.为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java Bean紧密…
随着spring注解的引入,越来越多的开发者开始使用注解,这篇文章将对注解的机制进行串联式的讲解,不求深入透彻,但求串起spring beans注解的珍珠,展示给大家. 1. spring beans常用的注解: public @interface Autowired:可以对成员变量.方法和构造函数进行标注,来完成自动装配的工作. Marks a constructor, field, setter method or config method as to be autowired by Sp…
Spring的一个核心功能是IOC,就是将Bean初始化加载到容器中,Bean是如何加载到容器的,可以使用Spring注解方式或者Spring XML配置方式. Spring注解方式减少了配置文件内容,更加便于管理,并且使用注解可以大大提高了开发效率! 下面安装分类讲解Spring中常用的一些注解. 一: 组件类注解 思考:spring怎么知道应该哪些Java类当初bean类处理? 答案:使用配置文件或者注解的方式进行标识需要处理的java类! 1.注解类介绍 @Component :标准一个普…
----------------------------------------------------------------------------------------------[版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/52471101作者:朱培      ID:sdksdk0      邮箱: zhupei@tianfang1314.cn   -------------------…
转载自:https://www.cnblogs.com/xiaoxi/p/5935009.html 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件,那么.xml文件又会非常多.总之这将导致配置文件的可读性与可维护性变得很低. 2.在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率. 为…
参考:Spring系列之Spring常用注解总结 (1) Resource 默认是byName的方式进行bean配置,@AutoWired默认是按照byType的方式进行装配bean的:(2)Component是所有受Spring管理的的通用形式(3)Controller是对应表现层的Bean也就是Action(4)Service对应是业务层的Bean;(5)Repository对应是数据访问层的Bean;(6)PostConstruct用于指定初始化方法: 传统的Spring做法是使用.xml…
Spring系列之Spring常用注解总结   传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点:1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件,那么.xml文件又会非常多.总之这将导致配置文件的可读性与可维护性变得很低.2.在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率.为了解决这两个问题,Spring引入了注解,通过"@XXX&…
[一]初始化IOC的bean的时候Spring会执行的一些回调方法 (1)spring bean创建的前置处理 =>ApplicationContextAwareProcessor 在创建bean的时候调用 bean.setEnvironment(this.applicationContext.getEnvironment()) bean.setEmbeddedValueResolver(new EmbeddedValueResolver(this.applicationContext.getB…
spring的配置文件 通常是applicationContext.xml(具体的bean配置会在后面内容中详解) setter方法注入: <property name=“” value=“jake”>或者<property name=“”> <value>xxx</value> 集合注入: 集合的注入都是给<property>添加子标签 例子:数组:<array> <value>zzz</value><…
Spring部分: 1.声明bean的注解: @Component:组件,没有明确的角色 @Service:在业务逻辑层使用(service层) @Repository:在数据访问层使用(dao层) @Controller:在展现层使用,控制器的声明(Controller) 2.注入bean的注解: @Autowired:由Spring提供,按类型注入,如果一个接口有多个实现,需要和@Qualifier配合使用 @Inject:由JSR-330提供 @Resource:由JSR-250提供,按名…
在阅读Spring Boot源码时,看到Spring Boot中大量使用ImportBeanDefinitionRegistrar来实现Bean的动态注入.它是Spring中一个强大的扩展接口.本篇文章来讲讲它相关使用. Spring Boot中的使用 在Spring Boot 内置容器的相关自动配置中有一个ServletWebServerFactoryAutoConfiguration类.该类的部分代码如下: @Configuration(proxyBeanMethods = false) @…
1.组件注册@Configuration.@Bean给容器中注册组件. 注解,@Configuration告诉Spring这是一个配置类,相当于bean.xml配置文件. 注解,@Bean给Spring容器注入一个bean对象,bean.xml配置文件里面的class属性,在注解式开发中class类型是返回值的类型,bean.xml配置文件里面的id属性,在注解式开发中id默认是方法名称. 2.组件注册@ComponentScan自动扫描组件.指定扫描规则. 注解,@ComponentScan包…
Spring中的常用注解 @Component 把普通 pojo 实例化到 Spring 容器中,相当于配置文件中的 泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller.@Services等的时候),我们就可以使用@Component 来标注这个类 这个简单的注解表明该类会作为组件类,并告知 Spring 要为这个类创建 bean 用法:@Component("") 双引号内的内容为 bean 的 id ,不写的话默认为类名首字母小写 @Named 另外一…
很多小伙伴包括我自己,在使用spring的时候导入了一堆jar包,但是并不明白每个jar的用途,使用spring的不同功能时也不知该导入哪个jar包,今天记录一下spring各个jar包的含义,供大家参考: Spring常用jar包功能介绍: org.springframework.aop ——Spring的面向切面编程,提供AOP(面向切面编程)的实现 org.springframework.asm——spring 2.5.6的时候需要asm jar包,spring3.0开始提供它自己独立的a…
        先从IOC说起,这个概念其实是从我们平常new一个对象的对立面来说的,我们平常使用对象的时候,一般都是直接使用关键字类new一个对象,那这样有什么坏处呢?其实很显然的,使用new那么就表示当前模块已经不知不觉的和new的对象耦合了,而我们通常都是更高层次的抽象模块调用底层的实现模块,这样也就产生了模块依赖于具体的实现,这样与我们JAVA中提倡的面向接口面向抽象编程是相冲突的,而且这样做也带来系统的模块架构问题.很简单的例子,我们在进行数据库操作的时候,总是业务层调用DAO层,当然…
很多小伙伴包括我自己,在使用spring的时候导入了一堆jar包,但是并不明白每个jar的用途,使用spring的不同功能时也不知该导入哪个jar包,今天记录一下spring各个jar包的含义,供大家参考: Spring常用jar包功能介绍: org.springframework.aop ——Spring的面向切面编程,提供AOP(面向切面编程)的实现 org.springframework.asm——spring 2.5.6的时候需要asm jar包,spring3.0开始提供它自己独立的a…
Spring系列之 配置文件的操作 写在文章前面: 本文带大家掌握Spring配置文件的基础操作以及带领大家理清依赖注入的概念,本文涉及内容广泛,如果各位读者耐心看完,应该会对自身有一个提升 Spring配置文件的作用 Spring配置文件是用于Spring工厂进行Bean生产,依赖关系注入,Bean实例分发的图纸,他类似于人类的大脑,我们必须掌握这张图纸的使用方法,才能进行相关的操作,灵活运用这张图纸准确的表达自己的意图.运筹帷幄,决胜千里.Spring的配置文件是一个或多个标准的xml文档,…
为什么要写这篇文章? 最近看到网上有一篇关于 SpringBoot 常用注解的文章被转载的比较多,我看了文章内容之后属实觉得质量有点低,并且有点会误导没有太多实际使用经验的人(这些人又占据了大多数).所以,自己索性花了大概 两天时间简单总结一下了. 因为我个人的能力和精力有限,如果有任何不对或者需要完善的地方,请帮忙指出!Guide 哥感激不尽! 1. @SpringBootApplication 这里先单独拎出@SpringBootApplication 注解说一下,虽然我们一般不会主动去使用…
Spring能够在classpath下自动扫描,侦测和实例化具有特定注解的组件,这在Spring中成为组件扫描(Component scanning). 特定组件的注解包括: @Component:基本注解,标识了一个受spring管理的组件.   @Repository:标识持久层组件 @Service:标识服务层(业务层)组件 @Controller:标识表现层组件 对于扫描上的组件,Spring有默认的命名策略,使用非限定类名,第一个字母小写,也可以在注解中通过value属性值表示组件的名…