一. 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. Go语言中的值类型和引用类型

    一.值类型和引用类型值类型:int.float.bool和string这些类型都属于值类型,使用这些类型的变量直接指向存在内存中的值,值类型的变量的值存储在栈中.当使用等号=将一个变量的值赋给另一个变 ...

  2. javascript高德地图实现点击marker消失marker

    javascript高德地图实现点击marker消失marker <pre> var markers = []; var positions = [[120.17718, 30.21772 ...

  3. hashMap的源码实现

    1.初步认识hashMap public static void main(String[] args) { HashMap<String, Integer> map = new Hash ...

  4. 在window10安装Mysql

    一:下载 1.1下载地址:https://dev.mysql.com/downloads/mysql/ 1.2解压 D:\InstallSoftWare\MYSQL 2环境变量配置    path里添 ...

  5. Future Failure CodeForces - 838C (博弈论,子集卷积)

    大意: 两人轮流操作一个长$n$, 只含前$k$种小写字母的串, 每次操作删除一个字符或者将整个串重排, 每次操作后得到的串不能和之前出现过的串相同, 求多少种串能使先手必胜. 找下规律发现$n$为奇 ...

  6. golang ---网卡信息

    package main import ( "fmt" "log" "net" "strings" ) type Net ...

  7. JDBC使用8.0驱动包连接mysql设置时区serverTimezone

    驱动包用的是新版 mysql-connector-java-8.0.16.jar新版的驱动类改成了com.mysql.cj.jdbc.Driver新版驱动连接url也有所改动I.指定时区 如果不设置时 ...

  8. c#中冒泡排序算法描述

    int temp = 0; int b = 0; int[] arr = { 23, 44, 66, 76, 98, 11, 3, 99, 7 };# region该段与排序无关Console.Wri ...

  9. Matlab 多项式及其函数

    多项式及其函数 多项式及其函数 Matlab用一维向量表示多项式 例:创建一个通用的一维向量转化为字符串格式的表达式 function s = pprintf(p) %pprintf 该函数可将一维向 ...

  10. Java知识回顾 (11) 异常处理

    距离最近的 Java知识回顾系列(10),2019.4.24日,到现在,已经近半年过去了. 感觉,做一件事情,如果有头无尾,实在不好,心里会一直悬着.所以,现在继续上面的内容. 再次声明,正如(1)中 ...