一. 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

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:aop="http://www.springframework.org/schema/aop"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans.xsd
  7. http://www.springframework.org/schema/aop
  8. http://www.springframework.org/schema/beans/spring-beans.xsd">
  9. <!--
  10. id表示获取到的对象的标识;class表示创建那个类的对象;
  11. -->
  12. <bean id="peo" class="com.test.People"/>
  13. </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 和 测试类

  1. package com.test;
  2.  
  3. public class People {
  4. private int id;
  5. private String name;
  6.  
  7. public People() {
  8. System.out.println("执行People的构造方法!");
  9. }
  10.  
  11. @Override
  12. public String toString() {
  13. return "People{" +
  14. "id=" + id +
  15. ", name='" + name + '\'' +
  16. '}';
  17. }
  18.  
  19. public int getId() {
  20. return id;
  21. }
  22.  
  23. public void setId(int id) {
  24. this.id = id;
  25. }
  26.  
  27. public String getName() {
  28. return name;
  29. }
  30.  
  31. public void setName(String name) {
  32. this.name = name;
  33. }
  34.  
  35. }

Pelple bean类

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

  1. package com.test;
  2.  
  3. import org.springframework.context.support.ClassPathXmlApplicationContext;
  4.  
  5. import org.springframework.context.ApplicationContext;
  6.  
  7. public class test01 {
  8. public static void main(String[] args) {
  9. // People people=new People();
  10. ApplicationContext ac=new ClassPathXmlApplicationContext("applicationcontext.xml");
  11. People people = ac.getBean("peo", People.class);
  12. System.out.println(people);
  13.  
  14. // String[] names=ac.getBeanDefinitionNames();
  15. // System.out.println("输出Spring所有的管理的对象");
  16. // for(String string:names){
  17. // System.out.println(string);
  18. // }
  19. }
  20. }

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. PCL

    PCL(PointCloudLibrary)——是一个的模块化的现代C++模板库. 其基于以下第三方库:Boost.Eigen.FLANN.VTK.CUDA.OpenNI.Qhull,实现点云相关的获 ...

  2. scrapy爬虫,cmd中执行日志中显示了爬取的内容,但是运行时隐藏日志后(运行命令后添加--nolog),就没有输出结果了

    cmd下执行scrapy爬虫程序,不报错也没有输出,解决方案 想要执行parse能够在cmd看到parse函数的执行结果: 解决方法: settings.py 中设置  ROBOTSTXT_OBEY  ...

  3. 微服务架构下使用Spring Cloud Zuul作为网关将多个微服务整合到一个Swagger服务上

    注意: 如果你正在研究微服务,那必然少不了服务之间的相互调用,哪么服务之间的接口以及api就必须生成系统的管理文档了.如果你希望更好的管理你的API,你希望有一个工具能一站式地解决API相关的所有事情 ...

  4. Clean code 关于注释、函数、命名的感想

    最近在看代码整洁之道(Clean code)这本书,其实看的有点痛苦,因为越看就会越想自己写的代码是什么鬼?一些不知所云的命名,不整洁的代码格式,本想诠释代码的意思却添加了一段段废话,还有那些被强制加 ...

  5. LeetCode 537. 复数乘法(Complex Number Multiplication)

    537. 复数乘法 537. Complex Number Multiplication 题目描述 Given two strings representing two complex numbers ...

  6. 企业级容器管理平台 Rancher 介绍入门及如何备份数据

    企业级容器管理平台 Rancher 介绍入门及如何备份数据 是什么 Rancher 是一个为 DevOps 团队提供的完整的 Kubernetes 与容器管理解决方案的开源的企业级容器管理平台.它解决 ...

  7. axios ios 微信浏览器session问题

    在ios系统下,微信浏览器使用axios 可能存在seesion不存在的问题,其原因是因为存在跨域 解决方案如下 1.修改域名为同一域名 2.后台允许跨域

  8. Hadoop 系列(五)—— Hadoop 集群环境搭建

    一.集群规划 这里搭建一个 3 节点的 Hadoop 集群,其中三台主机均部署 DataNode 和 NodeManager 服务,但只有 hadoop001 上部署 NameNode 和 Resou ...

  9. SpirngBoot--错误消息的定制

    在SpringBoot中发生了4xx 5xx之类的错误,SpringBoot默认会发一个/error的请求,该请求由BasicErrorController处理,即在SpringBoot中错误处理也是 ...

  10. Navicat premium工具转储数据表的结构时,datatime字段报错

    Navicat premium工具导出数据库: Navicat premium工具导入数据库: 运行SQL文件,遇到的错误,红色下划线提示,发现:(SQL文件的时间有问题) 不是insert语句有问题 ...