一. Spring 框架简介及官方压缩包目录介绍

  1. 主要发明者:Rod Johnson
  2. 轮子理论推崇者:

2.1 轮子理论:不用重复发明轮子.

2.2 IT 行业:直接使用写好的代码.

  1. Spring 框架宗旨:不重新发明技术,让原有技术使用起来更加方便.
  2. Spring 几大核心功能

4.1 IoC/DI控制反转/依赖注入

4.2 AOP面向切面编程

4.3 声明式事务.

  1. Spring 框架runtime

5.1 test: spring 提供测试功能

5.2 Core Container:核心容器.Spring 启动最基本的条件.

  5.2.1 Beans : Spring 负责创建类对象并管理对象

  5.2.2 Core: 核心类

  5.2.3 Context: 上下文参数.获取外部资源或这管理注解等

  5.2.4 SpEl: expression.jar

5.3 AOP:  实现aop 功能需要依赖

5.4 Aspects:  切面 AOP 依赖的包

5.5 Data Access/Integration : spring 封装数据访问层相关内容

  5.5.1 JDBC : Spring 对JDBC 封装后的代码.

  5.5.2 ORM: 封装了持久层框架的代码.例如Hibernate

  5.5.3 transactions:对应spring-tx.jar,声明式事务使用.

5.6 WEB:需要spring 完成web 相关功能时需要.

  5.6.1 例如:由tomcat 加载spring 配置文件时需要有spring-web包

6.Spring 框架中重要概念

  6.1 容器(Container): Spring 当作一个大容器.

  6.2 BeanFactory 接口.老版本.

  6.2.1 新版本中 ApplicationContext 接口, 是 BeanFactory 子接口.BeanFactory 的功能在ApplicationContext 中都有.

7.从Spring3 开始把Spring 框架的功能拆分成多个jar.

  7.1 Spring2 及以前就一个jar


二.Spring IoC 的概念

1 中文名称:控制反转(Inversion of Control)

2.IoC 是什么?

  2.1 IoC 完成的事情原先由程序员主动通过 new 实例化对象事情,转交给Spring 负责.

  2.2 控制反转中控制指的是:控制类的对象.

  2.3 控制反转中反转指的是转交给Spring 负责.

  2.4 IoC 最大的作用:解耦.

    2.4.1 程序员不需要管理对象.解除了对象管理和程序员之间的耦合.


三.Spring 环境搭建

  1. 导入jar

    1.1 四个核心包 + 一个日志包(commons-logging)

    1.2 idea编译器: 整体配置后  的 Spring项目

2.在src 下新建 applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--
id表示获取到的对象的标识;class表示创建那个类的对象;
-->
<bean id="peo" class="com.test.People"/>
</beans>

  2.1 文件名称和路径自定义.

  2.2 记住 Spring 容器 ApplicationContext,applicationContext.xml 配置的信息最终存储到了AppliationContext 容器中;

  2.3 spring 配置文件是基于schema (模式)

    2.3.1 schema 文件扩展名.xsd

    2.3.2 把schema 理解成DTD 的升级版.

      2.3.2.1 DTD 具备更好的扩展性,更优秀的语法检查器

    2.3.3 每次引入一个xsd 文件其实是一个namespace(xmlns)

2.4 配置文件中只需要引入基本schema

  2.4.1 通过<bean/> 创建对象.

  2.4.2 默认配置文件被加载时创建对象.

3.编写测试方法

  3.1 getBean(“<bean>标签id ”,  返回值类型);

    3.1.1 如果没有第二个参数, 默认返回值的类型是Object.

  3.2  getBeanDefinitionNames(),返回Spring 容器中目前所有管理的所有对象.

4.编写bean 和 测试类

package com.test;

public class People {
private int id;
private String name; public People() {
System.out.println("执行People的构造方法!");
} @Override
public String toString() {
return "People{" +
"id=" + id +
", name='" + name + '\'' +
'}';
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} }

Pelple bean类

测试类test01 如下,使用Spring配置文件进行新建对象:

package com.test;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import org.springframework.context.ApplicationContext;

public class test01 {
public static void main(String[] args) {
// People people=new People();
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationcontext.xml");
People people = ac.getBean("peo", People.class);
System.out.println(people); // String[] names=ac.getBeanDefinitionNames();
// System.out.println("输出Spring所有的管理的对象");
// for(String string:names){
// System.out.println(string);
// }
}
}

Spring4- 01 - Spring框架简介及官方压缩包目录介绍- Spring IoC 的概念 - Spring hello world环境搭建的更多相关文章

  1. 1. Spring 框架简介及官方压缩包目录

    一.Spring 框架简介及官方压缩包目录介绍 1.主要发明者:Rod Johnson 2.轮子理论推崇者:     2.1 轮子理论:不用重复发明轮子.     2.2 IT 行业:直接使用写好的代 ...

  2. 阶段3 2.Spring_01.Spring框架简介_02.今日课程内容介绍

    spring共四天 第一天:spring框架的概述以及spring中基于XML的IOC配置 第二天:spring中基于注解的IOC和ioc的案例 第三天:spring中的aop和基于XML以及注解的A ...

  3. Spring 系列: Spring 框架简介 -7个部分

    Spring 系列: Spring 框架简介 Spring AOP 和 IOC 容器入门 在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级 ...

  4. Spring笔记——Spring框架简介和初次框架配置

    Spring简介 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Deve ...

  5. Spring 系列: Spring 框架简介(转载)

    Spring 系列: Spring 框架简介 http://www.ibm.com/developerworks/cn/java/wa-spring1/ Spring AOP 和 IOC 容器入门 在 ...

  6. 04 Spring:01.Spring框架简介&&02.程序间耦合&&03.Spring的 IOC 和 DI&&08.面向切面编程 AOP&&10.Spring中事务控制

    spring共四天 第一天:spring框架的概述以及spring中基于XML的IOC配置 第二天:spring中基于注解的IOC和ioc的案例 第三天:spring中的aop和基于XML以及注解的A ...

  7. Spring 系列: Spring 框架简介

    Spring AOP 和 IOC 容器入门(转载) 在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级的.强壮的 J2EE 应用程序.dev ...

  8. SHH入门:Spring框架简介

    (1)Spring 七大模块 核心容器:核心容器提供Spring 框架的基本功能.核心容器的主要组件是 BeanFactory,它是工厂模式的实现.BeanFactory 使用控制反转 (IOC) 模 ...

  9. Spring框架简介

    1.发明者:Rod Johnson 2.轮子理论推崇者: 2.1 轮子理论:不用重复发明轮子 2.2 IT行业:直接只用写好的代码 3.Spring框架宗旨:不重新发明技术,让原有技术使用起来更加方便 ...

随机推荐

  1. django:下拉框二级联动实现

    注意:只列举核心部分代码 前台模板: 第一级下拉菜单: <div class="col-sm-4"> <select data-placeholder=" ...

  2. 解决java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvider

    今天在集成Mapper时 出现如下错误 java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvi ...

  3. swoole实战1-初识swoole

    原文地址:https://www.jianshu.com/p/008d5702d01f 安装swoole 以mac操作系统为例,如果你是mac新手,推荐阅读 程序员如何优雅使用mac 环境要求:php ...

  4. vue-cli3 element 分页组件el-pagination的基本使用

    <!--分页组件--> <el-pagination :total="total" :current-page="currentPage" : ...

  5. Quartus ii 设计中的差分信号在例化时的命名规则

    在Quartus中做设计,如果使用了差分信号的,如DDR的IP中的mem_ck与mem_ck_n,mem_dqs与mem_dqs_n,将其引入输出端口时,对其命名有一定的规则,否则就会出现错误. 如下 ...

  6. python基础(二)-- 列表、字典、集合、字符串操作

    4.列表: 基本操作: 索引 切片 追加 删除 长度 切片 循环 包含 import copy i=0 #persons=['dailaoban','xiekeng',['age',100,50],' ...

  7. [转帖]VMware vSphere 6 序列号大全

    VMware vSphere 6 序列号大全 https://blog.csdn.net/sj349781478/article/details/82378244   经过测试ESXI6.5也可以使用 ...

  8. python 之网络并发(非阻塞IO模型)

    实现gevent模块 服务端: from socket import * import time s = socket() s.bind(('127.0.0.1',8080)) s.listen(5) ...

  9. 基于卷积神经网络的面部表情识别(Pytorch实现)----台大李宏毅机器学习作业3(HW3)

    一.项目说明 给定数据集train.csv,要求使用卷积神经网络CNN,根据每个样本的面部图片判断出其表情.在本项目中,表情共分7类,分别为:(0)生气,(1)厌恶,(2)恐惧,(3)高兴,(4)难过 ...

  10. C++ 多态详解及常见面试题

    今天,讲一讲多态: 多态就是不同对象对同一行为会有不同的状态.(举例 : 学生和成人都去买票时,学生会打折,成人不会) 实现多态有两个条件: 一是虚函数重写,重写就是用来设置不同状态的   二是对象调 ...