一. 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. springboot-把web项目打成war包部署到外部tomcat

    将打包方式修改为war <packaging>war</packaging> 移除tomcat依赖或者将tomcat依赖scope改为provide 移除tomcat依赖 &l ...

  2. SpringBoot常用注解(三)

    最全的Java常用开发注解 转   https://blog.csdn.net/weixin_40753536/article/details/81285046              Spring ...

  3. 通过LxRunOffline迁移Win10的Linux子系统

    默认情况WSL装在系统盘(C:),重装系统怎么办?C盘空间不足怎么办?能修改WSL安装路径吗? 当然可以,使用LxRunOffline不仅能修改WSL安装路径,还能备份WSL.还原WSL…… 修改WS ...

  4. 10 Spring框架--基于注解和xml的配置的应用案例

    1.项目结构 2.基于xml配置的项目 <1>账户的业务层接口及其实现类 IAccountService.java package lucky.service; import lucky. ...

  5. 《Redis 分布式锁》

    一:什么是分布式锁. -  通俗来说的话,就是在分布式架构的redis中,使用锁. 二:分布式锁的使用选择. - 当 Redis 的使用场景不多,而且也只是单个在用的时候,可以构建自己使用的 锁. - ...

  6. Django 修改该项目文件夹、项目名及项目文件夹中同名文件夹,报错 ModuleNotFoundError: No module named 'untitled'

    如果你直接重构项目文件夹名及重构项目名和重构项目文件夹内同名文件夹 执行项目报错 ModuleNotFoundError: No module named 'untitled' 请执行以下操作

  7. 16.Python略有小成(内置模块Ⅱ)

    Python(内置模块Ⅱ) 一.规范化开发 一个py文件中 文件加载问题 代码可读性,查询差 要将一个py文件分开,合理的分成多个py文件 配置文件放在一起 : 一些轻易不改变的变量,一般命名 set ...

  8. 学习C语言深入解剖笔记之关键字的秘密

    C语言关键字的秘密 重点说明: 1.if(略) 2.void ①C语言规定只有相同类型的指针才可以相互赋值 ②void*指针作为左值用于“接收”任意类型的指针 ③void*指针作为右值赋值给其它指针时 ...

  9. Mybatis @One注解使用

    @One注解:一对一关联查询

  10. Authorization源码解析

    1.首先调用 Subject.isPermitted*/hasRole* 接口,其会委托给SecurityManager.SecurityManager 接着会委托给 Authorizer: Auth ...