• Spring中的核心思想


    IOC(inversion of controll)控制反转&DI(dependency injection)依赖注入。

      将对象的创建由原来(new)的方式转移到配置文件中,交给spring工厂来创建对象,spring不仅要创建对象,还要建立类与类之间的关系,因此控制反转的基础上又提出了依赖注入的概念。

      AOP(aspect oriented programming)面向切面的编程

    Set注入

    八种基本类型、日期类型、和数组类型注入

    <bean id="empDao" class="com.lkl.empDaoImpl">
      <property name="id" value="001"></property>
      <property name="name" value="xiaoming"></property>
      <property name="price" value="99.99"></property>
      <property name="sex" value="true"></property>
    <!-- 日期类型 -->
      <property name="birthday" value="1999/9/9"></property>
    <!-- 数组类型 -->
      <property name="arr">
        <array>
          <value>1</value>
          <value>2</value>
          <value>3</value>
        </array>
      </property>
    </bean>

    引用类型、集合类型注入

    <!-- 引用类型 -->
    <property name="e" ref="emp"></property>
    <!-- list集合类型 -->
    <property name="list">
      <list>
        <value>xiaojing</value>
        <value>xiaoli</value>
      </list>
    </property>
    <!-- map集合类型 -->
    <property name="maps">
      <map>
        <entry key="001" value="hong"></entry>
        <entry key="002" value="ceng"></entry>
        <entry key="003" value="huang"></entry>
      </map>
    </property>
    <!-- properties类型 -->
    <property name="pro">
      <props>
        <prop key="driver"> com.mysql.jdbc.Driver</prop>
        <prop key="url"> jdbc:mysql://localhost:3306/express</prop>
        <prop key="username">root</prop>
        <prop key="password">root</prop>
      </props>
    </property>

    Bean的创建模式

      Singleton:单例(默认),全局唯一,一个工厂只创建一次。

      Prototype:非单例,全局不唯一,每当使用时都要重新创建一个新对象。

      注:一般在项目开发中service,dao组件单例,struts2的action必须为多例。

      Spring bean的生产原理

      原理:反射+无参构造方法

    Bean的生命周期

    何时创建:工厂启动,工厂中所有单例bean随之创建。多例bean每使用一次初始化一次。

    何时销毁:工厂关闭,所有单例随之销毁。Spring不会负责多例bean的销毁。

  • 相关阅读:
    vscode添加python文件头模板
    解决Win平台VSCode中Python在控制台输出中文乱码的问题
    Windows系统解决VSCode终端无法输入问题
    python中pip安装包出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))…………或无法pip install packname安装依赖包
    GET和POST的本质区别
    文件名排序
    乱码加密解密
    jQuery.validator 自定义验证消息
    Oracle查询某个表被那些存储过程引用
    note4
  • 原文地址:https://www.cnblogs.com/lkldeblog/p/10685897.html
Copyright © 2020-2023  润新知