Spring 是什么

  Spring是由Apache开发的一种轻量型Java框架,能够更加便捷使用JavaBean(之前只有EJB才能实现)

  Spring的主要优势:分层架构:

    1. DAO层:(Data Access object)数据访问对象,一个数据库的接口
    2. Service层:对于业务的判断和处理
    3. Controller层:接收用户的请求以及和页面的交互

  Spring是一个IOC(DI)容器和AOP模式框架。

    这里需要解释 什么是IOC,什么是AOP

    1.IOC(DI):Inversion of Control 控制反转

  它是一种设计模式:在对象被创建的时候,由一个调控系统内所有对象的外界实体将其依赖的对象的引用传递给它。(通俗来讲:在A类中调用B类的对象b,可以直接调用外界new好的对象注入到A类中,避免内部类之间的耦合)而它最常见的方法就是依赖注入(Dependency Injection 简称:DI)

2.AOP: Aspect Oriented Programming 面向切面编程

  通过预编译的方式和运行期间动态的管理,实现在不修改源代码的基础上给程序添加功能的一种技术,比如将日志记录,性能统计等代码从业务逻辑代码中划分出来。在对他们的行为改变的时候不影响其他业务逻辑代码。

Spring 开发环境的搭建

  1.所需jar包:

    (1)spring-context:装载bean的定义并组装起来。

  (2)spring-core:发现,建立并维护bean与bean之间的关系所需要的一系列工具

  (3)spring-beans:(Spring中的主角)Spring的依赖注入正是将new出来的对象包裹在bean中注入到程序中的

  (4)spring-expression:一个强大表达式解析语言,支持在运行时动态的解析表达式给对象赋值(目前不是很理解)

  (5)commons-logging: 提供简单日志以及日志解耦功能(解耦功能暂时也没有用过)

通过maven工程加载:

   <dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
</dependencies>

2.配置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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd "> </beans>

  Spring的配置文件用于Spring工厂进行 Bean生产,依赖注入以及Bean实例。其中命名为applicationContext.xml是Spring的默认配置文件,当容器找不到指定的其他xml文档时,默认加载这个文件。

  解析xml文件中的beans标签及属性信息:

  (1)beans:整个配置文件的根节点,包含一个或多个bean元素

  (2)xmlns: xml namespace当前xml指定的命名空间

  (3)xmlns:xsi :指的是xml所要遵循的标签规范,xmlns的一个属性

  (4)xsi:schemaLocation:指定的命名空间对应的验证文件,就是xml书写时需要遵循的语法,用于声明了目标命名空间的模式文档。xsi的一个属性。在schemaLocation中的引用都是 成对存在的。

  例如:

http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

  (5)xsd文件: XML Schemas Definition xml的结构定义

  

人生若只如初见---Spring概述以及环境的搭建的更多相关文章

  1. 《微信小程序七日谈》- 第一天:人生若只如初见

    <微信小程序七日谈>系列文章: 第一天:人生若只如初见: 第二天:你可能要抛弃原来的响应式开发思维: 第三天:玩转Page组件的生命周期: 第四天:页面路径最多五层?导航可以这么玩 微信小 ...

  2. 【Linux探索之旅】第一部分第五课:Unity桌面,人生若只如初见

    内容简介 1.第一部分第五课:Unity桌面,人生若只如初见 2.第一部分第六课预告:Linux如何安装在虚拟机中 Unity桌面,人生若只如初见 不容易啊,经过了前几课的学习,我们认识了Linux是 ...

  3. python 自动化之路 day 01 人生若只如初见

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 Python 注释 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式i ...

  4. Spring MVC开发环境的搭建和实例

    一.安装jdk 二.安装tomcat 三.安装maven 新增环境变量MAVEN-HOME,并在path变量中添加bin路径 四.安装IntelliJ IDEA 五.创建maven web项目选择jd ...

  5. Spring+SpringMVC+Mybatis环境的搭建(使用Intellij IDEA)

    前言:本文主要介绍利用IDEA如何搭建SSM环境,并使用mybatis的逆向生成功能,根据数据表生成对应mapper接口和sql映射文件.具体步骤如下. 开发环境: IDEA 14.1.7 maven ...

  6. [原创]java WEB学习笔记54:Struts2学习之路---概述,环境的搭建

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  7. Spring 源码阅读环境的搭建

    前言 本文记录了 Spring 源码环境的搭建方式,以及踩过的那些坑!​当前版本:5.3.2-SNAPSHOT. 环境准备 Git JDK master 分支需要 JDK 11 5.2.x 分支, J ...

  8. Spring概述

    layout: post title: Spring概述 tags: [Java,Spring,IOC,AOP] --- Spring是一个开源的轻量级Java SE(Java 标准版本)/Java ...

  9. 基础知识(09) -- Spring 概述

    Spring概述-------------------------------------------------------------------------主要内容: 1.Spring是什么 2 ...

随机推荐

  1. 一次PHP代码上线遇到的问题

    exception ‘CDbException’ with message ‘The table “pms_goods” for active record class “PmsGoods” cann ...

  2. (二)与animation播放对比

    animation播放动画 1.播放默认动画 直接将动画拖入动画对象animation组件的animation变量中,然后加入如下代码既可以播放(此处采用toggle控制动画的播放) public A ...

  3. 防抖与节流 & 若每个请求必须发送,如何平滑地获取最后一个接口返回的数据

    博客地址:https://ainyi.com/79 日常浏览网页中,在进行窗口的 resize.scroll 或者重复点击某按钮发送请求,此时事件处理函数或者接口调用的频率若无限制,则会加重浏览器的负 ...

  4. Map文件从IDA到OD

    目录 什么是map文件 IDA与OD导出使用map文件 注意事项 使用OD载入导出的map文件 什么是map文件 什么是 MAP 文件? 简单地讲, MAP 文件是程序的全局符号.源文件和代码行号信息 ...

  5. 前后端对称加密(AES)

    后端实现(JAVA) package com.vcgeek.hephaestus.demo; import org.apache.commons.codec.binary.Base64; import ...

  6. Flask:项目的准备工作

    1.创建虚拟环境 (1)打开Windows命令窗口,输入命令(先确保电脑上安装了Anaconda): conda create -n FlaskPath python=3.5.2 FlaskPath为 ...

  7. php经典设计模式和Trait类代码的复用

    PHP经典设计模式 <?php /** * 单例模式 */ class Site { #定义属性 public $siteName; #定义本类的静态实例 protected static $i ...

  8. [2018-06-27] virtualenv

    在开发Python应用程序的时候,系统安装的Python只有一个版本:3.4.所有第三方的包都会被pip安装到Python3的site-packages目录下. 如果我们要同时开发多个应用程序,那这些 ...

  9. mysql设计规范二

    一.基本规范 必须使用InnoDB存储引擎 必须使用UTF8字符集 数据表.数据字段必须加入中文注释 二.设计规范 库名称.表名称.字段名称必须使用小写,最好不要使用驼峰式,使用“_”区分,例如use ...

  10. HTML基本单词《结构化标签》