zoukankan      html  css  js  c++  java
  • Spring初学

    一。spring体系结构
    spring核心组件
    1.Beans(包装应用程序自定义对象Object,Object中存有数据)
    2.Core (资源加载,资源抽象,建立维护与bean之间的一些关系所需的一些工具)
    3.Context (一个bean关系的集合)
    4.Expression Language
    Spring设计理念
    1.spring是面向Bean的编程
    2.spring两大核心技术 1.控制反转 2.面向切面编程
    3.spring优点
    低侵入设计
    独立于各种应用服务器
    依赖注入特性将组件关系透明化,降低了耦合度
    面向切面编程特性允许将通用任务进行集中式处理
    与第三方宽假的良好整合

    二。spring IOC(Inversion of Control)
    定义和原理:
    理解一:将控制组件的控制权从代码本身转移到外部容器(Spring容器)

    组件化的思想:分离关注点,使用接口,不再关注实现
    依赖注入:将组件的构建和使用分开
    目的:解耦和,实现每个组件只关注组件内部的事情
    要点:明确定的接口
    IOC的好处:解耦和 利于程序扩展
    IOC:思想控制反转
    DI:实现层面,依赖注入
    applicontionContext.xml 容器
    spring配置文件
    <bean id="hellSpring" class="cn.springdemo.HellSpring">
    //指定被赋值属性名
    <property name="who">
    <!--赋值内容-->
    <value>Spring</value>
    </property>
    </bean>


    AOP定义和原理(Aspact Oriented Programming)面向切面编程
    目标:让我们可以专心做事 日志记录 事务处理 异常扑获

    原理:
    1.将复杂的需求分解出不同方面,将公共功能集中解决
    2.采用代理机制组装起来运行,在不改变源程序的基础上对代码段进行增强处理,增加新的功能。
    所谓面向切面编程,是一种通过预编译方式和运行期动态代理实现在不修改源码的情况下给程序动态添加功能的技术。
    bean的作用域
    Struts2: Action类多例的。 Struts1 Action是单例的
    S2: Servlet 单例的 xxx_jsp.java 底层也是通过单例多线程来处理客户端请求的
    JSP:单例的 xxx.jsp
    scope="prototype" 原型模式(N个对象):真正使用时才会创建,每获取一次,都会创建不同对象
    scope="singleton" 单例模式:容器初始化时需要使用name建,每次获取的都是同一个对象,默认值
    三。AOP相关术语
    增强处理(advice)
    前至增强
    后置增强
    环绕增强。异常抛出增强,最终增强
    切入点(pointcut)
    连接点(Join Point)
    切面(Aspect)
    目标对象(Target object)
    aop代理(AOP proxy)
    织入(Weaving)

    前置增强接口 MethodBeforeAdvice
    后置增强接口 AfterReturningAdvice

    6.BeanFactory 使用对象的时候创建,这是和ApplicationContext的区别
    Resource resource=new ClassPathResource("applicationContext.xml");
    BeanFactory ctx=new XmlBeanFactory(resource);
    获取到上下文,并没有初始化bean,等待使用bean的时候才初始化
    ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");

    所有的bean已经初始化了

    http://www.yesky.com/imagesnew/software/spring/beans.html

    7.代码通过getBean()方法从容器获取指定的bean实例,容器首先会调用Bean类的无参构造器,创建实例对象

  • 相关阅读:
    Spark面对OOM问题的解决方法及优化总结 (转载)
    spark rdd 宽窄依赖理解
    hive orc update
    hive sql 语句执行顺序及执行计划
    java 正则 贪婪匹配 匹配sql语句中的引号内容
    java 权重随机算法实现
    MySQL创建用户和加限权
    MySQL完整性约束
    MySQL基础操作与数据类型
    MySQL数据库初识
  • 原文地址:https://www.cnblogs.com/wangbenqing/p/7227334.html
Copyright © 2011-2022 走看看