• Spring初步


    1:Spring其核心就是提供一种新的机制管理业务对象及其依赖关系。

    2:Spring的核心:

    IOC(控制反转)

    DI(依赖注入)

    AOP(面向切面编程)

    3:Spring的七大模块

    Core:核心模块。提供了Spring的容器来管理各种业务Bean对象以及Bean对象之间的依赖与关联关系。

    DAO:对JDBC和JDBC的事务做了扩展和支持。

    ORM:对ORM框架做了扩展和支持。

    AOP:面向切面编程模块。

    Spring Web:跟其它WEB框架(Struts1.x,Struts2.x、WebWork、JSF)结合的工具类和接口。

    Spring Web MVC:Spring自身提供的Web MVC的开发框架。

    Spring Context:对于J2EE平台架构其它技术组件的扩展(如EJB,JavaMail,RMI,JMS等)


    4:Spring框架的特点


    5:IOC
    bean name = "" id = "" class = "" scope = "";

    request:相当于WEB中的requestScope
    session:相当于WEB中的SessionScope
    global session:相当于WEB中的ApplicationScope
    singleton:对象的单例模式,对象只产生一个实例 默认值。
    prototype:对象的原型模式,每次产生一个对象。


    控制反转

    对象的实例化的过程原先是由代码控制,因此对象的生命周期由代码决定。

    在Spring中,对象的实例化是由Spring容器控制。

    对象的实例化的控制过程由原先的系统转移到Spring容器中,这一控制权的转变就是控制反转。


    ApplicationContext
    FileSystemXmlApplicationContext:以硬盘文件的路径方式加载

    ClasspathXmlApplicationContext:从src目录加载

    WebApplicationContext:与WEB工程组合时使用。

    6:DI
    依赖注入

    容器将被调用者的实例注入到调用者的过程称为依赖注入。

    Spring中的3种方式注入

    属性注入 SET/GET
    构造注入 构造方法注入

    属性注入与构造注入同时存在时, 最终结果为属性注入的对象。因为构造方法执行完成后,开始

    进行属性的初始化操作。

    7:对象的生命周期与作用域

    7.1:作用域Scope

    8:Spring中对于JDBC的封装与扩展

    1:Spring中如何获取数据源:
    A:Spring自带的DataSourceDriverManager类。 类似Java中的JDBC的连接方式。

    B:使用Tomcat的DBCP的方式: 工程需要Tomcat的Tomcat-dbcp.jar包。

    D:使用开源的C3P0连接池方式

    <!-- 数据源的获取_Spring的方式 -->
    <bean name="spring_dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="username" value="test"></property>
    <property name="password" value="test"></property>
    <property name="driverClassName"
    value="oracle.jdbc.driver.OracleDriver">
    </property>
    <property name="url"
    value="jdbc:oracle:thin:@127.0.0.1:1521:orcl">
    </property>
    </bean>
    
    <!-- 数据源的获取_DBCP方式 -->
    <bean name="dbcp_DataSource"
    class="org.apache.tomcat.dbcp.dbcp.BasicDataSource">
    <property name="driverClassName"
    value="oracle.jdbc.driver.OracleDriver">
    </property>
    <property name="url"
    value="jdbc:oracle:thin:@127.0.0.1:1521:orcl">
    </property>
    <property name="username" value="test"></property>
    <property name="password" value="test"></property>
    <property name="maxActive" value="50"></property>
    <property name="maxIdle" value="10"></property>
    <property name="maxWait" value="6000"></property>
    </bean>
    
    
    <bean name="c3p0_DataSource"
    class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClass"
    value="oracle.jdbc.driver.OracleDriver">
    </property>
    <property name="user" value="test"></property>
    <property name="password" value="test"></property>
    <property name="jdbcUrl"
    value="jdbc:oracle:thin:@127.0.0.1:1521:orcl">
    </property>
    <property name="maxPoolSize" value="20"></property>
    <property name="minPoolSize" value="1"></property>
    <property name="initialPoolSize" value="5"></property>
    <property name="maxStatements" value="300"></property>
    </bean>


    2:Spring中操作表中的数据

  • 相关阅读:
    LeetCode_637.二叉树的层平均值
    LeetCode_627.变更性别
    LeetCode_617.合并二叉树
    LeetCode_595.大的国家
    LeetCode_590.N叉树的后序遍历
    LeetCode_589.N叉树的前序遍历
    LeetCode_58.最后一个单词的长度
    LeetCode_566.重塑矩阵
    LeetCode_561.数组拆分 I
    LeetCode_56.合并区间
  • 原文地址:https://www.cnblogs.com/Arvin-9/p/4660222.html
Copyright © 2020-2023  润新知