Spring的概述:

(容器框架,可以管理所有的组件)

  1. 是一个开源软件(半成品软件;高度抽取可重用代码的一种设计=高通用性)
  2. 为简化企业级开发的
  3. 是一个IOL(DI)和AOP的容器框架
  4. spring的优良特性:
    非侵入式:不依赖于spring的api
    依赖注入(DI)
    面向切面编程(AOP)
    容器:包含管理应用对象的生命周期
    组件化:抽取所有的代码抽出成一个组件
    一站式:一个框架用到底

Spring模块:


Spring=IOL(容器)+AOP(面向切面编程)
IOL:strats+Hibermte+myBtis
AOP:声明事务<-Spring-jdbcTemplate(玩具版)

IOC[控制反转]:主动获取变为被动接受:
资源获取的方式只有主动、被动两种方式

BookServelt{//主动:要什么创什么,简单BooKServelt bs=new BooKServelt ();
//被动:资源的获取不是我们自己创建,而是交给一个容器来创建和设置BooKServelt cs;cs.checkout();
}

容器:管理所有的组件(有功能的类);主动的new变为被动的接受资源

DI:依赖注入;容器能知道那个组件(类)运行的时候,需要另外一个组件(类);容器通过反射的形式,将容器中准备好的BookServrlt对象注入(;利用反射给属性赋值)到BookSelvelt中

只要容器管理的组件,都能使用容器提供的强大功能

通过各种方法给容器注册对象,以前是自己new对象,现在所有的对象交给容器创建,给
容器中注册组件.

框架编写流程:

1. 导包

创建一个文件夹,把架包复制进去,然后选中五个架包并右键选择Bulid Path导包:
(核心容器)
spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.RELEASE.jar
spring-core-4.0.0.RELEASE.jar
spring-expression-4.0.0.RELEASE.jar
commons-logging-1.1.1.jar//日志包,必须有

2. 写配置

 Spring的配置文件中,集合了Spring的IOC容器管理的所有组件;创建一个Spring Bean ConfigurationFile(Spring的bean配置的文件);
package com.ssm.bean;public class Persion {private String lastname;private Integer age;private String gender;private String email;
public String getLastname() {return lastname;
}
public void setLastname(String lastname) {this.lastname = lastname;
}
public Integer getAge() {return age;
}
public void setAge(Integer age) {this.age = age;
}
public String getGender() {return gender;
}
public void setGender(String gender) {this.gender = gender;
}
public String getEmail() {return email;
}
public void setEmail(String email) {this.email = email;
}
@Override
public String toString() {return "Persion [lastname=" + lastname + ", age=" + age + ", gender=" + gender + ", email=" + email + "]";
}}
<?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">
<!-- 注册一个Persion对象,Spring会自动创建这个Persion对象 -->
<!--一个Bean标签可以注册一个组件(对象、类)class,写要注册的组件的全类名id,这个对象的唯一标识--><bean id="one" class="com.ssm.bean.Persion"><!-- 使用property标签为Persion对象的属性赋值 --><property name="lastname" value="张三"></property><property name="age" value="18"></property><property name="email" value="com.pengzehong"></property><property name="gender" value="男"></property></bean>
</beans>

3. 测试

package com.ssm.text;import static org.junit.jupiter.api.Assertions.*;import org.junit.jupiter.api.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import com.ssm.bean.Persion;class IOCtext {/*** 从容器中拿到这个组件*/@Testvoid test() {//ApplicationContext代表IOC容器//当前应用的xml配置文件在 ClassPath下ApplicationContext ioc=new ClassPathXmlApplicationContext("ioc.xml");Persion bean=(Persion)ioc.getBean("one");System.out.println(bean);}}

细节问题:

 1): ApplicationContext(IOC容器的接口)new ClassPathXmlApplicationContext("ioc.xml"):ioc容器的配置文件在类路径下面new FileSystemXmlApplicationContext("D://ioc.xml"):ioc容器的配置文件在磁盘路径下2):给容器中注册一个组件,并从其容器中根据id拿到了这个组件的对象组建的创建工作是Spring容器完成的3):同一个组件在ioc容器中是单实例的,容器启动完成时创建准备好的4):容器中如果没有这个组件,获取会报:org.springframework.beans.factory.NoSuchBeanDefinitionException:No bean named 'tow' is defined5):ioc容器在创建这个组件对象的时候,(property)会利用set方法为javabean的属性进行赋值6):JavaBean的属性名由get/set方法决定的,set后面那一串去掉首字母小写就是属性名,所有的get/set都是自动生成的

常见知识:

  1)src:源码包开始的路径,成为类路径的开始,所有源码包里面的东西都会合并放在类路径里面。2)导包:commons不能忘(这是一个依赖)3)先导包再创建配置文件4)Spring的容器接管了标志小s

ssm(day-01)相关推荐

  1. SSM后台管理系统开发实战

    一.简介: 通过这个课程带大家从零开发一款功能全面的后台管理系统,包括项目搭建.功能实现到最后的Linux系统部署全过程.本课程使用SpringMVC + Spring + Mybatis作为主体框架 ...

  2. 怎么入门Java编程?

    回答上来就说知识点有点过早了,入门Java先了解它的全貌,通过Java的应用知道自己的学习目的,通过学习目的了解学习顺序,通过学习顺序制定学习计划,通过学习计划找相关资源,然后坚持不懈. 下面,黑马程 ...

  3. jsp mysql论坛_使用SSM和ajax做一个简易的论坛-01(简介和建表)

    三月底刚学完SSM试着做了个简单的论坛,想分享一下,顺便整理一下自己的收获. 一.demo介绍 一个具有登录.注册功能,发帖.回帖功能的简易论坛.没有后台系统. 设计逻辑类似于贴吧,发帖时自动附带一个 ...

  4. 关于SSM(mybatis)入门01

    (如有错漏,望大神指正,依赖包版本不同有可能出现不同问题) 关于mybatis 1,传统的JDBC代码都是写死的,存在硬编码问题 2,修改参数的方式繁琐(set get) mybatis是什么(概括, ...

  5. 【SSM - Spring篇01】spring详细概述,Spring体系结构,bean、property属性,Spring生命周期方法

    文章目录 1. Spring介绍 2. Spring体系架构 2.1 Spring核心容器(Core Container) 2.2 数据访问/集成(Data Access/Integration) 2 ...

  6. SSM框架整合(Spring+SpringMVC+MyBatis)

    输出结果 1.Maven Web项目创建 之前有写过Eclipse+Maven创建web项目的帖子,如果需要,请参考这里写链接内容 创建好项目之后因为入下图: 2.SSM整合 2.1 引入需要的JAR ...

  7. 初学ssm框架的信息

    ssm框架,就是Spring ,SpringMVC ,mybstis 的简称,我们是从mybstis 开始学起的,mybatis的作用作为一个连接数据库的框架,可以很好配置连接好数据库, 有mybat ...

  8. SSM框架之批量增加示例(同步请求jsp视图解析)

    准备环境:SSM框架+JDK8/JDK7+MySQL5.7+MAVEN3以上+Tomcat8/7应用服务器 示例说明: 分发给用户优惠券,通过checkbox选中批量分发,对应也就是批量增加. 对于公 ...

  9. [转]SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

    使用SSM(spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合 ...

  10. c++new时赋初值_基于ssm的客户管理系统 - C_you_again

    01 概述 一个简单的客户关系管理系统 管理用户的基本数据 客户的分配 客户的流失 已经客户的状态 02 技术 ssm + jdk1.8 + mysql5.4 03 运行环境 ecplice + jd ...

最新文章

  1. 植物根际微生物组也有昼夜节律
  2. 宝塔环境下配置PM2+NODE+VUE+WEBPACK环境
  3. C语言模拟实现(四)-----利用open、read、write等系统调用函数实现cp(文件复制)功能
  4. 鸿蒙810 980,稳了!鸿蒙系统升级名单再曝:至少麒麟980机型都能升级
  5. 排序算法Java代码实现(二)—— 冒泡排序
  6. SpringBoot2.0 基础案例(06):引入JdbcTemplate,和多数据源配置
  7. 怎么在delphi显示html,如何在Delphi中将简单的RichText转换为HTML标签?
  8. C++ select模型聊天室初版
  9. css+div页面布局详解(三)
  10. SQL Server 2008 SP3简体中文版官方下载
  11. AR互动大屏项目实战
  12. FFmpeg 快速上手:命令行详解、工具、教程、电子书
  13. python编程从入门到实践 项目一:外星人入侵
  14. Android ImageView 图片拉伸,填满控件
  15. java回收策略_Java 中的垃圾回收策略
  16. input常见输入限制及金额转货币
  17. 有哪些比较好的原画设计学习网站,零基础学原画难么?
  18. matlab与amesim匹配,AMESim-MATLAB联合仿真详细设置+部分问题解决步骤
  19. 转换各种音乐格式的神奇方法
  20. js创建对象的方法总结

热门文章

  1. 全志V3s USB PHY驱动分析
  2. 用于CTF(MISC)的kali虚拟机更改过程记录
  3. 《移动软件开发》做一个app首页
  4. android之ION内存管理器(1)-- 简介
  5. Java插入Excel指定行
  6. Ubuntu+QT+SSL+MQTT
  7. html中蝴蝶飞飞怎么制作,幼儿园小班《蝴蝶飞飞》教案
  8. 根据二叉树创建字符串
  9. 一只喵的西行记-8 魔法猫堡
  10. 有多少“垃圾”App藏在你的手机里?