栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

1-Spring-基础知识

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

1-Spring-基础知识

Spring-基础知识

文章目录
  • Spring-基础知识
  • 一. 简介
    • 1.1 优点
    • 1.2 核心技术
  • 二. IOC技术
    • 2.1 搭建环境
    • 2.2 IOC概念
    • 2.3 IOC快速入门


一. 简介

Spring 解决的是业务逻辑层与其他层的松耦合问题,将面向接口的思想贯穿整个系统应用。也有人称为粘合剂,用于粘合其余别的层的框架。

web程序开发分层一般如下:

  • web层: apache struts1, apache struts2(xwork), springmvc
  • service层:spring
  • dao/mapper/repositorey层:jdbc,DbUtils,mybatis,springdata
  • SpringBoot 不属于任何一层,是搭建项目基础平台的框架,提倡 0配置,不写xml文件。用java形式运行javaweb项目
1.1 优点

Spring 的出现解决了 JaveEE 的实际问题

  • 方便解耦(高内聚、低耦合):Spring 是一个超级工厂(超级容器),可以将对象的创建和依赖关系交给 Spring工厂 去管理
  • AOP编程:Spring 提供面向切面编程(底层是动态代理),可以方便的对程序进行运行监控,权限验证等操作
  • 声明事务:只需要通过配置就完成对事务的管理,无需手动编程
  • 方便测试:Spring支持junit4,可以使用Spring注解方式测试程序
  • 方便集成各种框架
  • 降低JaveEE API的使用难度
1.2 核心技术

IOC(Inverse of Control) 控制反转:将对象的创建权力交给Spring工厂进行管理
AOP(Aspect Oriented Programming) 面向切面编程:基于动态代理的功能增强方式

二. IOC技术 2.1 搭建环境

在idea中选择maven方式构建项目,在pom.xml文件中导入Spring

    
        org.springframework
        spring-context
        5.1.20.RELEASE
    

2.2 IOC概念

IOC是一种设计思想。

  • 举例:传统编程使用某个类,会创建对象然后调用方法。
  • 存在问题:当前代码与 new 出来的对象紧密绑定,如果程序进一步升级,那就比较麻烦。(web 创建service对象,service创建dao对象,三层严重耦合在一起)
  • 常见操作:在 service层 创建 dao层 对象,调用其中方法
  • IOC思想:将对象的创建与维护交给Spring框架,自己书写的代码仅仅只需向 Spring 框架索要对应的对象使用即可。无需关心如何创建对象,对象的生命周期
  • 控制反转:将对象的创建、维护、销毁权力交给 IOC容器,前提是需要告诉 IOC容器 应该维护哪些对象,需要通过 xml 或者注解的方式告诉Spring。学习Spring的核心在于学习如何配置
2.3 IOC快速入门

我们创建一个最基本的web例子,仅包含service层、dao层、pojo类,
文件结构如下:

其中书写代码如下:
配置pom.xml如下,主要是配置Spring和junit

    
        
        
            org.springframework
            spring-context
            5.1.20.RELEASE
        

        
        
            junit
            junit
            4.12
            test
        

pojo类:

public class User {
}

dao层:

public class UserDao {
    public void addUser(User user) {
        System.out.println("将user添加入数据库");
    }
}

service层:

public class UserService {

    private UserDao dao;

    public void setDao(UserDao dao) {
        this.dao = dao;
    }

    public void addUser(User user){
        dao.addUser(user);
    }
}

以上代码是简化的web流程,由service调用Dao, Dao操作数据库。

接下来配置Spring配置文件,文件名:applicationContext.xml。通过配置的方式告诉Spring需要管理那些类




    
    
    
        
    


正式使用Spring

public class SpringTest {

    @Test
    public void testAddUser(){
        // 1.获取Spring的核心对象
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        // 2.向Spring容器要我们想使用的UserService对象
        UserService userService = (UserService) context.getBean("userService");// getBean返回值为Object,需要向下强制转换类型
        // 3.通过对象调用方法
        userService.addUser(null);// 打印结果: 将user添加入数据库
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/306550.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号