zoukankan      html  css  js  c++  java
  • spring杂碎

    spring优点

    方便解耦,简化开发

    Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理

    AOP编程的支持

    Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能

    声明式事务的支持

    只需要通过配置就可以完成对事务的管理,而无需手动编程

    方便程序的测试

    SpringJunit4支持,可以通过注解方便的测试Spring程序

    方便集成各种优秀框架

    Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:StrutsHibernateMyBatisQuartz等)的直接支持

    降低JavaEE API的使用难度

    Spring JavaEE开发中非常难用的一些APIJDBCJavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低

     

    <bean>的作用范围:scope属性:
    Spring创建Bean的时候默认情况下使用单例模式创建:
    scope:
    * singleton :默认值.默认就会采用单例模式创建Bean.
    * prototype :Spring创建Bean的时候采用多例模式.
    * request :Web项目中使用.Spring创建Bean的时候,将Bean保存到request域中.
    * session :Web项目中使用.Spring创建Bean的时候,将Bean保存到session域中.
    * globalsession :Web项目中使用.一般用于Porlet应用环境.如果没有Porlet环境.配置了globalsession等同于session.

     

    Spring生成Bean的时候有一个完整的生命周期:(11个步骤:)

    1.instantiate bean对象实例化

    2.populate properties 封装属性

    3.如果Bean实现BeanNameAware 执行 setBeanName

    4.如果Bean实现BeanFactoryAware 或者 ApplicationContextAware 设置工厂 setBeanFactory 或者上下文对象 setApplicationContext

    5.如果存在类实现 BeanPostProcessor(后处理Bean) ,执行postProcessBeforeInitialization

    6.如果Bean实现InitializingBean 执行 afterPropertiesSet

    7.调用<bean init-method="init"> 指定初始化方法 init

    8.如果存在类实现 BeanPostProcessor(处理Bean) ,执行postProcessAfterInitialization

    9.执行业务处理

    10.如果Bean实现 DisposableBean 执行 destroy

    11.调用<bean destroy-method="customerDestroy"> 指定销毁方法 customerDestroy

    面朝大海```春暖花开
  • 相关阅读:
    PHP-FPM详解
    Nginx与PHP交互过程 + Nginx与PHP通信的两种方式
    cgi,fast-cgi,php-cgi,php-fpm转载详解
    ( 转 ) mysql复合索引、普通索引总结
    快速搭建ELK日志分析系统
    高并发
    多线程
    关于MySQL中查询大数据量的情况下分页limit的性能优化
    电商搜索引擎的架构设计和性能优化
    MYSQL优化之碎片整理
  • 原文地址:https://www.cnblogs.com/chywx/p/6810060.html
Copyright © 2011-2022 走看看