1 bean的 创建
1,直接在配置文件里面写一个带有@Bean注解的方法(返回值就是那个bena对象),(name等于 方法名)
2,使用 FactoryBean 接口(三个方法分别是创建,类型,单例)(实测需要加入@Component)
3,在 配置类里面可以 用一个 @Bean 方法的形参里面写入Spring 容器里面的 Bean 对象

备注:使用 @Scope指定是不是单例(默认是单例)

2 指定bean 的 初始销毁方法
1 bean 类继承 ,InitializingBean,DisposableBean 接口实现对应方法
2, 在配置注解上面指定 @Bean(destroyMethod="destroy",initMethod="afterPropertiesSet")
3,(jsr 250 的 注解) 在方法前写上 @PreDestroy(销毁前) 和 @PostConstruct(创建以后)

spring bean属性的注入

3,多个类型 同类的 bean ,按照 类型获取的时候会获取代 @Primary 注解标注的那个

4 AnnotationConfigApplicationContext(Config.class,UserFactoryBean.class) 的 方法里面 不仅仅 可以写配置还可以写 带有注解的组件(@Component ,@servier @Controller @Repository,等等)

5 @Qualifier 对 @Autowired,@Inject(需要引入inject 包) 按照类型匹配进行修饰(按照名字选择)

备注:Qualifier 修饰也不管用 ,使用 @Resource(name='') 吧 实测 可以

@ComponentScan 指定扫描的包

6 拿到 spring 容器
1 实现 ApplicationContextAware 这个方法其实就是在 BeanPostProcessor 里面判断是否实现了 ApplicationContextAware 接口 ,若果实现了,娜美就掉指定方法设置 spring容器
2 构造方法的参数里面写 public SpringContext(ApplicationContext applicationContext,@Qualifier("user2") User user)
备注,这种方法只能有一个构造函数,多个不知道选那个,会默认选择无参数的那个 (如果没有无参数的那个会报错) spring 4.3 提供(spring4.3 默认会给会为 构造方法注入)
3 直接在任意spring 管理的类中注入 spring 容器 @Inject AnnotationConfigApplicationContext context;

4 不能通过getBean 的到

三个重要的接口

7 对spring 管理的 Bean 的管理
实现 BeanPostProcessor 的类可以对任何 spring管理的类的 初始化进行 管理
备注:我们可以通过 postProcessor 对server 类调用 做参数日志(返回一个代理对象,然后在方法调用前打印参数)

8 BeanFactoryPostProcessor 接口 可以拿到 所有bean 的 factroy 在 BeanPostProcessor 之前触发

9 BeanDefinitionRegistryPostProcessor 可以动态的注册spring 的 bean 对象 (BeanDefinitionRegistryPostProcessor 集成自 BeanFactoryPostProcessor 接口)

spring4 知识点的更多相关文章

  1. Spring4.x 基础知识点

    # Spring4.x 基础知识点## 第二章 快速入门- 一般情况下,需要在业务模块包下进一步按分层模块划分子包,如user\dao.user\service.viewspace\dao.views ...

  2. Spring4 事务管理

    Spring4 事务管理 本章是Spring4 教程中的最后一章,也是非常重要的一章.如果说学习IOC是知识的入门,那学习事务管理就是知识的提升.本章篇幅可能有一丢丢长,也有一丢丢难,需要读者细细品味 ...

  3. Spring4 JDBC详解

    Spring4 JDBC详解 在之前的Spring4 IOC详解 的文章中,并没有介绍使用外部属性的知识点.现在利用配置c3p0连接池的契机来一起学习.本章内容主要有两个部分:配置c3p0(重点)和 ...

  4. Spring4 AOP详解

    Spring4 AOP详解 第一章Spring 快速入门并没有对Spring4 的 AOP 做太多的描述,是因为AOP切面编程概念不好理解.所以这章主要从三个方面详解AOP:AOP简介(了解),基于注 ...

  5. Spring4 IOC详解

    Spring4 IOC详解 上一章对Spring做一个快速入门的教程,其中只是简单的提到了IOC的特性.本章便对Spring的IOC进行一个详解.主要从三个方面开始:基于xml文件的Bean配置,基于 ...

  6. Spring IOC知识点一网打尽!

    前言 只有光头才能变强 回顾前面: 给女朋友讲解什么是代理模式 包装模式就是这么简单啦 单例模式你会几种写法? 工厂模式理解了没有? 在刷Spring书籍的时候花了点时间去学习了单例模式和工厂模式,总 ...

  7. 10分钟详解Spring全家桶7大知识点

    Spring框架自2002年诞生以来一直备受开发者青睐,它包括SpringMVC.SpringBoot.Spring Cloud.Spring Cloud Dataflow等解决方案.有人亲切的称之为 ...

  8. Spring_day04--课程安排_回顾SSH框架知识点_SSH框架整合思想

    Spring_day04 上节内容回顾 今天内容介绍 回顾SSH框架知识点 Hibernate框架 Struts2框架 Spring框架 SSH框架整合思想 整合struts2和spring框架 Sp ...

  9. 《精通Spring4.x企业应用开发实战》第二章

    昨天联系了一下学长,学长说这个项目因为种种原因代码比较混乱,感觉最坏的打算是从头开始写. 大概询问了一下学长和xianhua学姐的建议,又看了看网上的资料,这个项目开发的技术栈基本就是SpringBo ...

随机推荐

  1. spring cloud图形化dashboard是如何实现指标的收集展示的

    spring cloud图形化dashboard是如何实现指标的收集展示的 1.dashboard图形化界面入口 http://localhost:10000/hystrix.stream 说明:端口 ...

  2. 【转】移除HTML5 input在type="number"时的上下小箭头

    在chrome下: input::-webkit-outer-spin-button, input::-webkit-inner-spin-button{     -webkit-appearance ...

  3. 浅谈Obejct.assign

    Object.assign属于浅拷贝 Object.assign只能拷贝:可被枚举的属性,自有属性,string或者Symbol类型是可以被直接分配的 var ab={ name:"没有被覆 ...

  4. zabbix项目实践

    一,Zabbix生产环境监测案例概述 1.1 项目规划 [x] :主机分组 交换机 Nginx Tomcat MySQL Apache PHP-fpm redis(也有状态页, 自己研究) memca ...

  5. Java 线程面试题 Top 50

    --> Java 线程面试题 Top 50 html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;line-height:1. ...

  6. 2.spring 学习

    1.spring简单工程搭建 http://www.cnblogs.com/yun965861480/p/6278193.html 2.spring数据源 http://www.cnblogs.com ...

  7. 用tornado实现一个简单的websocket样例

    想用SPRING MVC,NODE.JS EXPRESS,TORNADO实现同一个功能,开阔一下视野. 先来TORNADO的吧.. 客户端代码都差不多,主要是服务端代码. TORNADO的说法: ht ...

  8. ABP .Net Core To Json序列化配置

     一. 前言 我们采用ABP架构用MVC Controller或Web API返回给前端结果ToJson序列化后得到的属性命名都是采用js的驼峰格式,即首字母小写,后面单词首字母大写的格式(如:后台属 ...

  9. WebGL编程指南案例解析之3D视图视区问题

    var VSHADER_SOURCE = 'attribute vec4 a_Position;\n' + 'attribute vec4 a_Color;\n' + 'uniform mat4 u_ ...

  10. PlistBuddy

    最近由于工作需要,发现了这么一个小工具. PlistBuddy是一个Mac里的命令行下读写plist文件的工具. 位于/usr/libexec/下,由于这个路径不在默认的PATH里,需要通过绝对路径/ ...