目录

1.目的和作用

解决对象的创建和以及对象依赖关系的!

  • Struts与Hibernate可以做什么事?

    Struts,

    Mvc中控制层解决方案

    可以进行请求数据自动封装、类型转换、文件上传、效验…

    Hibernate,

    持久层的解决方案;

    可以做到,

    把对象保存到数据库,

    从数据库中取出的是对象。
  • 传统的开发模式

    基于mvc模式进行项目开发;

    基于mvc的项目框架结构:

    Entity / dao / service / action

// 1. 实体类
class User{
} //2. dao
class UserDao{
.. 访问db
} //3. service
class UserService{
UserDao userDao = new UserDao();
} //4. action
class UserAction{
UserService userService = new UserService(); ..
拿到数据或结果 }

思考:

  1. 对象创建创建能否写死?
  2. 对象创建细节

    对象数量

    action 多个 【维护成员变量】

    service 一个 【不需要维护公共变量】

    dao 一个 【不需要维护公共变量】

    创建时间

    action 访问时候创建

    service 启动时候创建

    dao 启动时候创建
  3. 对象的依赖关系

    action 依赖 service

    service依赖 dao

=======================================================

总结:

spring就是解决上面的问题的!

简单来说,就是处理对象的创建的、以及对象的依赖关系!


目录

2.概念

2.1框架的设计

  • 侵入式设计

    引入了框架,对现有的类的结构有影响;即需要实现或继承某些特定类。

    例如: Struts框架

  • 非侵入式设计

       引入了框架,对现有的类结构没有影响。
    例如:Hibernate框架 / Spring框架

2.2控制反转

nversion on Control , 控制反转 IOC

对象的创建交给外部容器完成,这个就做控制反转.

     依赖注入,  dependency injection
处理对象的依赖关系 区别:

控制反转, 解决对象创建的问题【对象创建交给别人】

依赖注入,

在创建完对象后, 对象的关系的处理就是依赖注入 【通过set方法依赖注入】

2.3AOP

     面向切面编程。切面,简单来说来可以理解为一个类,由很多重复代码形成的类。
切面举例:事务、日志、权限;

目录

3.

3.1Spring六大模块

  1. Spring Core spring的核心功能: IOC容器, 解决对象创建及依赖关系

  2. Spring Web Spring对web模块的支持。

    2.1 可以与struts整合,让struts的action创建交给spring

    2.2 spring mvc模式

  3. Spring DAO Spring 对jdbc操作的支持 【JdbcTemplate模板工具类】

  4. Spring ORM spring对orm的支持:

    4.1 既可以与hibernate整合,【session】

    4.2也可以使用spring的对hibernate操作的封装

  5. Spring AOP 切面编程

  6. SpringEE spring 对javaEE其他模块的支持


目录

29.Spring-基础.md的更多相关文章

  1. Spring Boot实战(1) Spring基础

    1. Spring基础配置 Spring框架本身有四大原则: 1) 使用POJO进行轻量级和最小侵入式开发 2) 通过依赖注入和基于接口编程实现松耦合 3) 通过AOP和默认习惯进行声明式编程 4) ...

  2. Spring基础知识

    Spring基础知识 利用spring完成松耦合 接口 public interface IOutputGenerator { public void generateOutput(); } 实现类 ...

  3. spring基础整理

    spring基础教程:https://www.tutorialspoint.com/spring/spring_overview.htm 注入实例 <bean id="" c ...

  4. Spring 基础知识

    Spring架构简单描述 原文:https://www.shiyanlou.com/courses/document/212 Spring 概述 1. Spring 是什么 Spring是一个开源的轻 ...

  5. Spring基础配置

    从毕业到现在我一直从事Android开发,但是对JavaEE一直念念不忘,毕业校招的时候,一个礼拜拿了三个offer,岗位分别是Android.JavaEE和JavaSE,后来觉得Android比较简 ...

  6. Spring基础系列--AOP织入逻辑跟踪

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9619910.html 其实在之前的源码解读里面,关于织入的部分并没有说清楚,那些前置.后 ...

  7. 第65节:Java后端的学习之Spring基础

    Java后端的学习之Spring基础 如果要学习spring,那么什么是框架,spring又是什么呢?学习spring中的ioc和bean,以及aop,IOC,Bean,AOP,(配置,注解,api) ...

  8. Spring基础系列-AOP源码分析

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9560803.html 一.概述 Spring的两大特性:IOC和AOP. AOP是面向切 ...

  9. Spring基础系列-Spring事务不生效的问题与循环依赖问题

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9476550.html 一.提出问题 不知道你是否遇到过这样的情况,在ssm框架中开发we ...

  10. spring基础学习01

    spring基础 Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用 IOC控制反转 把创建对象和维护对象之间的关系权利 ...

随机推荐

  1. list函数

    列表的切片: 获取: 1. [start:] 2. [:end] 3. [statr:end] 4. [statr: end: spet] 修改: listvar[:2] = ' 把0~1索引元素删除 ...

  2. CRM N:1 关系或者字段无法删除

    点开详细信息查看那些实体引用了该组件.查看内容如下: 1 查看窗体上有无该字段; 2 查看视图中有无该字段; 3 查看试图的 筛选条件; 4 查看试图的 查找列; 5 发布之后再试试.

  3. CentOS7.3编译hadoop2.7.3源码

    在使用hive或者是kylin时,可以选择文件的压缩格式,但是这个需要有hadoop native库的支持,默认情况下,hadoop官方发布的二进制包中是不包含native库的,所以无法使用一些压缩相 ...

  4. WordPress版微信小程序2.0版本发布

    利用业余时间对WordPress版微信小程序进行的升级,增加了一些功能,程序性能上做了一些优化.经过此次的版本升级,WordPress版微信小程序所需的基本功能已经具备. 开放源码地址:https:/ ...

  5. xinetd网络

    简单Web服务器 基本的HTTP协议 请求服务器数据 GET /文件或目录 HTTP/1.1 协议头部分(可选) /r/n(协议头结束) 服务器应答浏览器 HTTP/1.1 200 OK conten ...

  6. 【原创】重装Windows系统后Android studio无需重装,直接迁移

    每次重装Windows系统后重装各种开发环境让人苦不堪言,比如VS2013 +补丁,没有个小半天根本搞不定! 对与Android的开发者,同样安装JDK+Android Studio + Adnroi ...

  7. HBase原理和架构

    HBase是什么 HBase在生态体系中的位置 HBase vs HDFS HBase表的特点 HBase是真正的分布式存储,存储级别达到TB级别,而才传统数据库就不是真正的分布式了,传统数据库在底层 ...

  8. Grunt相关

    安装Grunt 在命令行输入npm install -g grunt-cli

  9. 使用wifi ssh: connect to host hadoop000 port 22: No route to host

    使用的wifi,在wifi下IP会自动分配. 先尝试能否ping通,如果都无法ping通那先把IP配置那些先搞定ping通之后遇到此问题再来尝试解决. 查看  /etc/hosts 中配置的 IP  ...

  10. 学习笔记:jqchart

    (Highcharts 167K:  ECharts 354K: jqChart 240K),如果用于网络,Highchart最小 jqchart 国外的一个图表库 挺漂亮的 http://www.j ...