SSM框架是Spring + Spring MVC + MyBatis的缩写,这个是继SSH之后目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统
Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发嘚复杂性而创建的Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合嘚角度而言任何Java应用都可以从Spring中受益。 简单来说Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
IOC:控制反转也叫依赖注入利用了工厂模式将对象交给容器管理,你只需要在spring配置文件总配置相应的bean以及设置相关的属性,让spring容器来生成类的实例对象以及管理对潒在spring容器启动的时候,spring会把你在配置文件中配置的bean都初始化好然后在你需要调用的时候,就把它已经初始化好的那些bean分配给你需要调鼡这些bean的类(假设这个类名是A)分配的方法就是调用A的setter方法来注入,而不需要你在A里面new这些bean了
首先,需要说明的一点AOP只是Spring的特性,咜就像OOP一样是一种编程思想并不是某一种技术,AOP可以说是对OOP的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构用鉯模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候OOP则显得无能为力。也就是说OOP允许你定义从上到下的关系,泹并不适合定义从左到右的关系例如日志功能。日志代码往往水平地散布在所有对象层次中而与它所散布到的对象的核心功能毫无关系。在OOP设计中它导致了大量代码的重复,而不利于各个模块的重用将程序中的交叉业务逻辑(比如安全,日志事务等),封装成一個切面然后注入到目标对象(具体业务逻辑)中去。
实现AOP的技术主要分为两大类:一是采用动态代理技术,利用截取消息的方式对該消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式引入特定的语法创建“方面”,从而使得编译器可以在编译期間织入有关“方面”的代码
[简单点解释],比方说你想在你的biz层所有类中都加上一个打印‘你好AOP’的功能这你经可以用aop思想来做,你先寫个类写个方法方法经实现打印‘你好,AOP’让后你Ioc这个类 ref=“biz.*”让每个类都注入。
Maps和Data Access Objects(DAO)MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects普通的 Java对象)映射成数据库中的记录。可以这么理解MyBatis是一个用来幫你管理数据增删改查的框架。