1、什么是Spring?

  1. Spring框架是一个开源的,轻量级的 项目管理框架

致力于JAVAEE轻量级解决方案,用于管理[创建|使用|销毁] 现有JAVAEE项目中的组件(控制器、业务类、DAO类、事务 等),也习惯称Spring是一个工厂、容器。

  1. 注意:Spring通常不管理实体类。
  2. Spring的核心思想:IOC、AOP

2、Spring工厂的作用是什么?

Spring的工厂:ApplicationContext(接口)

  1. 作用:

创建和管理对象

  1. 两个实现类:
  2. ClassPathXmlApplicationContext(非web环境下)

ApplicationContext ctx = new ClassPathXmlApplicationContext("spring.xml");

  1. WebXmlApplicationContext(web环境下) 不直接使用,SSM框架整合后底层使用

3、Spring的环境搭建有哪些?

环境搭建:

  1. 导jar包
  2. 创建spring的核心配置文件(名称随意、位置/src根或子目录 任意位置)

4、Spring的基本开发步骤是什么?

开发步骤:

  1. 定义JAVA类
  2. 在spring的核心配置文件(applicationContext.xml)中配置组件

代码案例:

<!--配置dao

id:组件的唯一标识

class:组件的全限定名,包名.子包名.类名

-->

<bean id="userDao" class="com.tjcu.UserDaoImpl"></bean>

  1. 调用Spring工厂的API

代码案例:

//启动Spring工厂

ApplicationContext ctx=new ClassPathXmlAppplicationContext("applicationContext.xml");

//从工厂中 根据组件的beanId 获取Bean对象

UserDao userDao=(UserDao)ctx.getBean("userDao");

userDao.insert(new User("王恒杰",123456));

5、什么是IOC(控制反转)?

  1. IOC(Inversion Of Controll) 控制反转【[ɪnˈvɜːʃn]:倒置】

把创建对象的权利 由java源码中手动new创建 转移到spring中 交给spring工厂去创建。

  1. 好处:解耦合(降低代码的耦合度)
  2. Spring的工厂 不仅能创建对象,还可以解决 对象和对象依赖关系,即DI(依赖注入)。

6、什么是DI(依赖注入)?

  1. DI(Dependecy Injection)依赖注入

一个类 需要使用另一个类时,可以将 被使用的类的对象 定义成这个类的成员变量,在Spring的配置文件中进行属性的赋值。

DI 简单理解为: 在spring中 给对象的属性 自动赋值。

  1. 好处:解耦合

7、Spring中注入的方式有哪几种?

Spring中的注入的方式共有三种:

  1. set注入:通过set方法给属性赋值。
  2. 构造注入:通过构造方法 给属性赋值。
  3. 自动注入:通过set方法 给属性自动赋值。

8、如何控制bean对象的创建次数(创建模式)?

  1. 在Spring中,可以通过bean标签的scope属性 控制创建对象的次数:

语法:

<bean id="" scope="singleton|prototype">

singleton:单例,每工厂只创建一个对象(默认)

prototype:多例,每次调用工厂都会创建新的对象

  1. 在开发中,创建模式的选择:
  2. 单例:Serlvet、Service、Dao
  3. 多例:Action