di
Spring致力于简化java企业级开发,促进代码松耦合,成功的关键在于依赖注入和AOP
Spring通过应用上下文(APPlication context)装载bean的定义并把他们组装起来。Spring应用上下文全权负责对象的创建和组装。Spring自带了很多上下文,他们的区别仅仅在于如何加载配置 如从代码中加载或Xml中加载bean
Spring如何定义Bean的
1.通过构造方法定义Bean
2.通过java类的setter方法定义
3.通过注解定义Bean
构造方法和setter方式定义不多说,最常用的就是通过注解定义Bean了
Spring提供了四个注解去定义bean
还可以通过@configuration注解注释这是个配置bean,
另外还有 @Bean注释表明这是一个简单的bean
@Bean注解会告诉Spring这个方法将会返回一个对象,该对象要注册为Spring应用上下文中的bean,方法体中b包含了最终产生bean实例的逻辑。
Spring如何获取Bean的
在程序初始化的时候Spring会根据@ComponentScan注解扫描当前包和子包内含有@Component @controller @Service @Repository @Configuration @Bean注解的类,并初始化到Spring容器中
在spring4之后优化为不自动实例化,只在方法调用时进行Bean的实例化
Spring如何装配注入Bean的
- Spring提供了五种自动装配的类型
no:显示指明不使用Spring的自动装配功能
byName:根据属性和组件的名称匹配关系来实现bean的自动装配
byType:根据属性和组件的类型匹配关系来实现bean的自动装配,有多个适合类型的对象时装配失败
constructor:与byType类似是根据类型自动装配,但是要求待装配的bean有相应的构造函数
autodetect:利用Spring的自省机制判断使用byType或是constructor装配
使用XML方式进行装配
略
使用注解的方式进行装配
Spring通过@Resource注解和@Autowire实现自动装配
@Resource 根据byName进行装配
@Autowire通过byType进行装配
目前开发来说一般都是基于注解定义bean,基于注解注入bean,维护成本更低,类型更加安全并且更易于重构, springboot的兴起已经使xml逐步淘汰xml配置起来也比较麻烦。
参考文章
相关阅读
DirectX11 With Windows SDK--04 使用DirectX Tool Ki
前言(2018/11/4) DXTK库现在已经不随Github项目提供,因为只用到了其中的键鼠类,已经过提取加入到后续的项目中但是如果你需要配置Dire
Visual Studio 2017下载地址和安装教程(图解版)
Visual Studio 2017下载地址和安装教程(图解版) Visual Studio 2017不仅支持C#、C++、Python、Visual Basic、Node.js、HTML、Java
tensorflow中协调器 tf.train.Coordinator 和入队线程启动器 tf.train.start_queue_runners2018年04月01日 18:51:57 阅读数:12
文件系统的一个使用流程: 存储介质选择---》硬盘分区操作;创建分区来容纳文件系统;创建分区,这个分区可以是整个硬盘也可以是部分硬盘
一.安装篇1.下载并安装Xampp 下载地址注意,如果MySql不能成功启动,则应检查My.ini配置文件中basedir与datadir是否配置为相对路