什么是Spring?的部分介绍

什么是Spring呢?根据Spring简介我知道了Spring是一个开源框架,Spring为简化企业级开发而生,使用Spring开发可以将Bean对象,Dao组件对象,Service组件对象等交给Spring容器来管理,这样使得很多复杂的代码在Spring中开发却变得非常的优雅和简洁,有效的降低代码的耦合度,极大的方便项目的后期维护、升级和扩展。
Spring是一个IOC(DI)和AOP容器框架。我也了解到了Spring的优良特性分为以下几种:

  1. 非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API
  2. 控制反转:IOC——Inversion of Control,指的是将对象的创建权交给Spring去创建。使用Spring之前,对象的创建都是由我们自己在代码中new创建。而使用Spring之后。对象的创建都是由给了Spring框架。
  3. 依赖注入:DI——Dependency Injection,是指依赖的对象不需要手动调用setXX方法去设置,而是通过配置赋值。
  4. 面向切面编程:Aspect Oriented Programming——AOP
  5. 容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期
  6. 组件化:Spring实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 中可以使用XML和Java注解组合这些对象。
  7. 一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上Spring 自身也提供了表述层的SpringMVC和持久层的Spring JDBC)
    其中,IOC 反转控制 是Spring的基础,Inversion Of Control。简单说就是创建对象由以前的程序员自己new 构造方法来调用,变成了交由Spring创建对象DI 依赖注入 Dependency Inject. 简单地说就是拿到的对象的属性,已经被注入好相关值了,直接使用即可。关于Junit4常用注解,执行顺序:@BeforeClass –> @Before –> @Test –> @After –> @AfterClass,且每一个测试方法的调用顺序为:@Before –> @Test –> @After。
    基于Java注解的配置方式,在 Spring 中,尽管使用 XML 配置文件可以实现 Bean 的装配工作,但如果应用中 Bean 的数量较多,会导致 XML 配置文件过于臃肿,从而给维护和升级带来一定的困难,Java 从 JDK 5.0 以后,提供了 Annotation(注解)功能,Spring 也提供了对 Annotation 技术的全面支持。

@Component
在不指定value时,使用

  • @see java.beans.Introspector#decapitalize
  • 生成默认的名称
    • 当类名以一个大写字母开头时,bean的名字为首字母小写的类名;
  •  例如:User-->user,Student-->student,IDCard-->idCard
    
    • 当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致
  •  例如:URL-->URL,
    

3、配置applicationContext.xml在beans属性内部最上部 添加配置:

context:annotation-config/

注意:只有配置这部分的行才可以引入注解的命名空间,否则报错。以上的配置隐式的注册了多个对注释进行解析的处理器:AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor、PersistenceAnnotationBeanPostProcessor等。

如果配置了context:component-scan后,context:annotation-config就可以省略。这是因为在搞版本的Spring中,context:component-scan配置项其实也包含了自动注入上述processor的功能,这次总结总的来说,收获不少也让我进一步理解Spring框架,受益匪浅,希望下次能更进一步!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值