a01-1 spring概述(spring实战)

一、Spring的概述

spring的目标是致力于全方位的简化java开发,如何简化?

  • 1、基于pojp的轻量化和最小入侵性编程
  • 2、通过依赖注入和面向接口实现松耦合
  • 3、基于切面和惯例进行声明式编程
  • 4、通过切面和模板减少样板式代码

1、激发pojo的潜能

  • Spring不会强迫实现或继承对应个接口或类
public class HelloBean{
​
    public sayHello(){
        return "hello ";
    }
}

2、通过依赖注入方式松耦合

public class UserDaoImpl implement UserDao{
​
    private UserCrud userCrud;
    
    public UserDaoImpl(){
        this.userCrud = new UserCrud();
    }
    
    public void getUser(){
           userCrud.getUser();
    }
}
  • 说明:
  • 在UserDaoImpl的构造函数中创建了一个UserCrud使得UserDaoImpl和UserCrud耦合在一起。
  • 使用Spring的注解以后
public class UserDaoImpl implement UserDao{
​
    @Author
    private UserCrud userCrud;
    
    public void getUser(){
           userCrud.getUser();
    }
}

二、Bean的生命周期

1、在java中Bean的生命周期比较简单:

  • 1、通过java关键字实例化,
  • 2、bean就可以使用
  • 3、当bean不再被使用由java自动进行垃圾回收

2、在Spring中Bean的生命周期

  • 1、Spring对bean进行实例化
  • 2、Spring将值和Bean的引用注入到Bean对应的属性中
  • 3、如果Bean实现了BeanNameAware接口,Spring将bean的ID传递给setBean-Name()
  • 4、如果bean实现了BeanFactoryAware接口,Spring将调用setBeanFactory()将BeanFactory容器实例传入
  • 5、如果bean实现了ApplicationContextAware接口,Spring将调用setApplicationContext()将Bean所在应用上下文传进来
  • 6、如果bean实现了BeanPostProceessor接口,Spring将调用他们的post-ProcessbeforInitialization()
  • 7、如果Bean实现了InitializingBea接口Spring将调用他们的after-PropertiestSet()
  • 8、如果Bean实现了BeanPostProcessor接口Spring将调用他们的post-ProcessAfterInitialization()
  • 9、此时bean准备就绪,可以被使用,将停留在应用上下文中,直到应用上下文被销毁
  • 10、如果bean实现了DisposableBean接口,Spring将调用它的destory()销毁方法

三、Spring模块

1、数据访问与集成

  • 1、jdbc
  • 2、Transaction
  • 3、ORM
  • 4、OXM
  • 5、Messaging
  • 6、JMS

2、web与远程调用

  • 1、web
  • 2、Web Servlet
  • 3、Web Portlet
  • 4、WebSocket

3、面向切面

  • 对面向切面编程提供支持
  • 1、AOP
  • 2、Aspects

4、Instruction

  • 提供了为JVM添加代理的功能
  • 1、Instrument
  • 2、Instrument Tomcat

5、spring核心容器

  • 是Spring框架的核心部分,管理Spring应用中Bean的创建、配置、管理
  • 1、Beans:
  • 2、Core
  • 3、Context
  • 4、Expression
  • 5、Context support

6、测试

  • Test
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.1 spring IoC容器和beans的简介 Spring 框架的最核心基础的功能是IoC(控制反转)容器,...
    simoscode阅读 11,702评论 2 22
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,567评论 19 139
  • 1.1 Spring IoC容器和bean简介 本章介绍了Spring Framework实现的控制反转(IoC)...
    起名真是难阅读 7,391评论 0 8
  • 当选择未来的同时也要有爱的当下陪伴,我们总是在与时间赛跑,在对爱的投入上。 小时候的一个春节,我看到我的堂姐在...
    龙谖阅读 1,950评论 0 1
  • 听了众多大咔的课,见识了众多成功的人,看了很多建议的文章,想要有所成就,无非都是说养成这五个习惯,这五个习...
    风云老师阅读 1,683评论 0 4