SSM三大框架

一、三大框架基本结构

1.为什么需要框架

说明: 如果生产环境下的项目,都是从头(从底层写起)开发,难度太大了,并且开发的效率极其低下. 所以为了让项目快速的上线部署. 将某些特定的功能.进行了高级的封装. 那么我们如果需要使用封装后的API.,则必须按照人家的要求编码

2.框架的分类:

1.Spring框架:整个框架中负责“宏观调控”的(主导),负责整合其它的第三方的框架

2.SpringMVC框架:主要负责实现前后端数据的交互

3.Mybatis框架/MybatisPlus框架:持久层框架,简化了JDBC操作数据库的方式,提高效率

4.SpringBoot框架/工具:SpringBoo采用了一种更加简化的方式封装了之前的框架,让程序变得更加简单

3.框架调用流程图

SSM三大框架

 二、Spring框架讲解

1.Spring介绍

Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。
Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于JEE应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。
小结:Spring框架时针对bean的生命周期进行管理的轻量级容器。其中核心技术是IOC、AOP

2.Spring-IOC

1.IOC介绍

Ioc全称Inversion of Control,即“控制反转”,这是一种设计思想。对象创建的权利由Spring框架完成。由容器管理对象的生命周期。

SSM三大框架

 小结:

①原来的对象的创建都是由用户自己手动创建,这样的方式耦合性 高,如果类发生变化,则代码都得变。

②现在所有的对象都交给spring容器管理,用户无需关心对象是如何实例化,容器负责对象的注入即可, 以后几乎不用修改任何代码, 降低了代码的耦合性。

2.创建User类

package com.jt;

public class User {
    
    public void say(){
        System.out.println("我是User对象,被Spring容器管理");
    }
}

3.编辑spring.xml配置文件

说明:由于需要使用spring的框架,所以需要准备spring的配置文件

在resources文件夹下创建spring.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <!--
        知识点讲解:该配置文件作用是管理对象
            术语: bean  被spring容器管理的对象称之为bean
            属性说明:
                  id:是spring容器中对象的唯一标识符,不能重复
                  class:对象的全路径
    -->
    <bean id="user" class="com.jt.demo.User"></bean>
</beans>

4.编辑test测试类

package com.jt;


import com.jt.demo.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestSpring {

    @Test
    public void TestDemo1(){
        String resource = "spring.xml";
        //创建spring容器,并且加载指定的配置文件 ,对象已经交给容器管理
        ApplicationContext context = new ClassPathXmlApplicationContext(resource);
        //从容器中获取对象方式1  根据ID获取对象
        User user1 = (User) context.getBean("user");
        //根据类型获取数据
        User user2 = context.getBean(User.class);
        user1.say();
    }
}

 测试结果:

SSM三大框架

3.关于spring容器说明

解释:spring容器的数据结构是Map集合,Map<key,value>,

key=“bean中id的值”,value=“通过反射机制实例化的对象”

SSM三大框架

 4.了解反射源码

说明:反射的机制在框架中使用较多,给定类型的路径就可以获取其中的对象,但是要求必须有无参构造,否则程序运行必报错。

反射方法创建对象时,必然调用对象的无参构造!!!
    @Test
    public void TestDemo2() throws Exception{
        User user =(User) Class.forName("com.jt.demo.User").newInstance();
        user.say();
    }

三、Spring注解开发

1.编辑User类

package com.jt.demo;

public class User {
    public void say(){
        System.out.println("使用全注解方式");
    }
}

2.编辑配置类

package com.jt.config;

import com.jt.demo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration //将当前类标识为配置类
public class SpringConfig {//xml
    /**1.xml形式
     *      <bean id="user" class="com.jt.demo.User"></bean>
     * 2.注解形式
     *      Map集合的机构 Map<方法名,方法的返回值>
     */
    @Bean
    public User user(){
        return new User();//反射机制
    }


}

3.编辑测试类

package com.jt;

import com.jt.config.SpringConfig;
import com.jt.demo.User;
import org.junit.jupiter.api.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Configuration;

@Configuration
public class TestSpring {
    //利用注解的 方式管理对象
    @Test
    public void testDemo1(){
        //1.利用注解方式启动spring容器
        ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
        //2.从容器中获取对象
        User user = context.getBean(User.class);
        //3.对象调用方法
        user.say();

    }
}

四、工厂模式

2.利用工厂模式创建对象

1.业务说明

2.创建工场模式

上一篇:【COCOS2DX-LUA 脚本开发之二】LUA语言基础


下一篇:基于SSM+SpringBoot+Thymeleaf+MySQL+LayUI的在线招聘系统