Spring4- 01 - Spring框架简介及官方压缩包目录介绍- Spring IoC 的概念 - Spring hello world环境搭建
一. Spring 框架简介及官方压缩包目录介绍
- 主要发明者:Rod Johnson
- 轮子理论推崇者:
2.1 轮子理论:不用重复发明轮子.
2.2 IT 行业:直接使用写好的代码.
- Spring 框架宗旨:不重新发明技术,让原有技术使用起来更加方便.
- Spring 几大核心功能
4.1 IoC/DI控制反转/依赖注入
4.2 AOP面向切面编程
4.3 声明式事务.
- 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 环境搭建
- 导入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. Spring 框架简介及官方压缩包目录
一.Spring 框架简介及官方压缩包目录介绍 1.主要发明者:Rod Johnson 2.轮子理论推崇者: 2.1 轮子理论:不用重复发明轮子. 2.2 IT 行业:直接使用写好的代 ...
- 阶段3 2.Spring_01.Spring框架简介_02.今日课程内容介绍
spring共四天 第一天:spring框架的概述以及spring中基于XML的IOC配置 第二天:spring中基于注解的IOC和ioc的案例 第三天:spring中的aop和基于XML以及注解的A ...
- Spring 系列: Spring 框架简介 -7个部分
Spring 系列: Spring 框架简介 Spring AOP 和 IOC 容器入门 在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级 ...
- Spring笔记——Spring框架简介和初次框架配置
Spring简介 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Deve ...
- Spring 系列: Spring 框架简介(转载)
Spring 系列: Spring 框架简介 http://www.ibm.com/developerworks/cn/java/wa-spring1/ Spring AOP 和 IOC 容器入门 在 ...
- 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 ...
- Spring 系列: Spring 框架简介
Spring AOP 和 IOC 容器入门(转载) 在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级的.强壮的 J2EE 应用程序.dev ...
- SHH入门:Spring框架简介
(1)Spring 七大模块 核心容器:核心容器提供Spring 框架的基本功能.核心容器的主要组件是 BeanFactory,它是工厂模式的实现.BeanFactory 使用控制反转 (IOC) 模 ...
- Spring框架简介
1.发明者:Rod Johnson 2.轮子理论推崇者: 2.1 轮子理论:不用重复发明轮子 2.2 IT行业:直接只用写好的代码 3.Spring框架宗旨:不重新发明技术,让原有技术使用起来更加方便 ...
随机推荐
- PCL
PCL(PointCloudLibrary)——是一个的模块化的现代C++模板库. 其基于以下第三方库:Boost.Eigen.FLANN.VTK.CUDA.OpenNI.Qhull,实现点云相关的获 ...
- scrapy爬虫,cmd中执行日志中显示了爬取的内容,但是运行时隐藏日志后(运行命令后添加--nolog),就没有输出结果了
cmd下执行scrapy爬虫程序,不报错也没有输出,解决方案 想要执行parse能够在cmd看到parse函数的执行结果: 解决方法: settings.py 中设置 ROBOTSTXT_OBEY ...
- 微服务架构下使用Spring Cloud Zuul作为网关将多个微服务整合到一个Swagger服务上
注意: 如果你正在研究微服务,那必然少不了服务之间的相互调用,哪么服务之间的接口以及api就必须生成系统的管理文档了.如果你希望更好的管理你的API,你希望有一个工具能一站式地解决API相关的所有事情 ...
- Clean code 关于注释、函数、命名的感想
最近在看代码整洁之道(Clean code)这本书,其实看的有点痛苦,因为越看就会越想自己写的代码是什么鬼?一些不知所云的命名,不整洁的代码格式,本想诠释代码的意思却添加了一段段废话,还有那些被强制加 ...
- LeetCode 537. 复数乘法(Complex Number Multiplication)
537. 复数乘法 537. Complex Number Multiplication 题目描述 Given two strings representing two complex numbers ...
- 企业级容器管理平台 Rancher 介绍入门及如何备份数据
企业级容器管理平台 Rancher 介绍入门及如何备份数据 是什么 Rancher 是一个为 DevOps 团队提供的完整的 Kubernetes 与容器管理解决方案的开源的企业级容器管理平台.它解决 ...
- axios ios 微信浏览器session问题
在ios系统下,微信浏览器使用axios 可能存在seesion不存在的问题,其原因是因为存在跨域 解决方案如下 1.修改域名为同一域名 2.后台允许跨域
- Hadoop 系列(五)—— Hadoop 集群环境搭建
一.集群规划 这里搭建一个 3 节点的 Hadoop 集群,其中三台主机均部署 DataNode 和 NodeManager 服务,但只有 hadoop001 上部署 NameNode 和 Resou ...
- SpirngBoot--错误消息的定制
在SpringBoot中发生了4xx 5xx之类的错误,SpringBoot默认会发一个/error的请求,该请求由BasicErrorController处理,即在SpringBoot中错误处理也是 ...
- Navicat premium工具转储数据表的结构时,datatime字段报错
Navicat premium工具导出数据库: Navicat premium工具导入数据库: 运行SQL文件,遇到的错误,红色下划线提示,发现:(SQL文件的时间有问题) 不是insert语句有问题 ...