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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值