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. SQL查询选修了所有课程的学生姓名

    select sname from student where not exists (select * from course where not exists   (select * from s ...

  2. MyBatis(4)-- 动态SQL

    如果使用JDBC或者类似于Hibernate的其他框架,很多时候要根据需要去拼装SQL,这是一个麻烦的事情.因为某些查询需要许多条件.通常使用其他框架需要大量的Java代码进行判断,可读性比较差,而M ...

  3. MySQL基础篇(2)数据类型

    MySQL提供了多种数据类型,主要包括数值型.字符串类型.日期和时间类型. 1.数值类型 整数类型:TINYINT(1字节).SMALLINT(2字节).MEDIUMINT(3字节).INT(INTE ...

  4. Python环境的搭建(windows系统)

    1.首先访问http://www.python.org/download/去下载最新的python版本. 2.安装下载包,一路next. 3.为计算机添加安装目录搭到环境变量,如图把python的安装 ...

  5. Jenkins 2.60.x 2种发送邮件方式

    1.1 默认发邮件的配置方式 1.1.1 系统级别 邮件配置 1.1.2 项目级别 邮件配置 测试构建失败是否会发邮件: 控制台输出:提示已发送邮件给项目配置指定的两个邮箱地址. 1.1.2.1  查 ...

  6. [2018-06-27] virtualenv

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

  7. SpringMVC----执行流程+底层解析

    SpringMVC流程图如上面所示,根据上图,串联一下底层源码: 1.在DispatcherServlet中找到doDisPatch 2.观察方法体,然后找到getHandler方法 3.点进方法,发 ...

  8. Django学习day3——Django的简单使用

    开始一个项目 切换到django的虚拟环境中 执行: django-admin startproject mysite 创建第一个django项目mysite django生成的目录如下: E:. └ ...

  9. 卡特兰数&&prufer序列&&BSGS水题集

    首先说一下BSGS的一个坑点: 解方程A^x≡B(mod p) 需要特判一个东西=>A%p==B%p==0? 如果相等的话puts("1")反之则无解. 因为如果A%p=0, ...

  10. nyoj 412 Same binary weight ()

    Same binary weight 时间限制:300 ms  |  内存限制:65535 KB 难度:3   描述 The binary weight of a positive  integer ...