1 spring基本理念是简化java开发。

使用以下4个策略简化java开发

1) 基于POJO的轻量级和最小侵入性编程

2)通过使用DI和AOP实现松耦合

3)基于切面和惯例进行声明式编程

4)通过切面和模板减少样板式代码

2 依赖注入:对象的依赖关系将由负责协调系统中各个对象的第三方组件在创建对象时设定。对象无需自行创建或管理他们的依赖关系---依赖关系将会被自动注入到需要他们的对象中。

3 装配:创建应用组件之间协作的行为称为装配。

4 面向切面编程被定义为促使应用程序分离关注点的一项技术。横切关注点总是跨越系统的多个组件。

主要作用是帮助对象解耦。

5 使用模板消除样板式代码。比如jJDBC/JMS/JNDI/REST都是使用模板代码的场景。

6 spring 容器,负责创建对象、装配他们,配置它们并管理他们的整个生命周期。

spring容器可以分为两种类型,bean工厂和ApplicationContext。一般更倾向使用ApplicationContext.

常见的有AnnotationConfigApplicationContext/AnnotationConfigWebApplicationContext/ClassPathXmlApplicationContext/FileSystemXmlApplicationContext/XmlWebApplicationContext

ClassPathXmlApplicationContext是在所有类路径下查找文件上下文。

7 bean对象的配置,三种方法。1)自动化装配 2)通过java代码装配bean 3)通过xml装配bean

7.1 自动化装配

@Component在一个类上面使用,在类上使用表明该类是一个组件类,不过组件扫描默认是不开启的。

可以使用如下技术进行开启扫描

@Configuration
@ComponentScan
public class PlayerConfig {
}
@ComponentScan默认会扫描与配置类相同的包以及这个包下所有子包。

当然也可以在xml配置文件中使用<context:component-scan />元素开启扫描。

为组件扫描的bean命名。可以有两种方式
1)@Component("lonelyHeartsClub")
2)@Named("lonelyHeartsClub")
字符串相当于是xml配置文件中的id

一般使用第一种方式。

7.1.1 组件扫描(component scanning)

7.1.2 自动装配(autowiring)

自动装配就是让Spring自动满足bean依赖的一种方法,在满足依赖的过程中,会在spring应用上下文寻找匹配某个bean需求的其他bean。

关键词:@Autowired,@Inject。不过一般使用第一种方式。

说明:

1)如果没有发现需要的bean,spring会抛出异常。

最新文章

  1. Tomcat7基于Redis的Session共享实战二
  2. Zepto中文API
  3. ArcCatalog中连接SDE数据库
  4. 在XP、Win7/8上如何右键进入命令行
  5. IE7 float:left失效的解决方法
  6. maven概念
  7. GDI+基础(2)
  8. 通过Url传多个参数方法
  9. MediaWiki基本设置
  10. Objective-C时间戳转换的转换和时间
  11. 屏幕居中(DIV/CSS) 的几种方法(转)
  12. poj1256(全排列stl)
  13. 什么是JDBC?
  14. Cognos配置管理
  15. 9.6 翻译系列:数据注解之Index特性【EF 6 Code-First系列】
  16. TensorFlow随机值:tf.random_normal函数
  17. PHP 获取 IE浏览器版本号
  18. Linux 安全信息查看
  19. Recyclerview 出现 java.lang.IndexOutOfBoundsException: Inconsistency detected 异常
  20. js jq封装ajax方法

热门文章

  1. codevs 1345 饥饿的奶牛
  2. python使用sqlite示例
  3. opensue安装eclipse进行python开发
  4. 面试通用tips--来源某猎头人员
  5. python2解决中文问题(无论是注释还是代码含有中文)
  6. java jar包 log4j不能输出解决方法
  7. mysql用法之创建事件
  8. flask restful修改头部信息
  9. Vuex内容解析和vue cli项目中使用状态管理模式Vuex
  10. 破解IDEA Ultimate2017 测试