1.1 软件模块化
把一个程序分割成一些不同的部分,可以在某种程度上减少它的复杂性,多层体系结构的优点有:
- 结构简单,便于不同技能的程序员分工负责不同的层
- 便于测试,每一层都可以独立测试
- 变更可控,可以把代码的变更控制在一层之内,不会影响其他的层
Model-View-Controller将软件用户界面和业务逻辑分离
Model-View-Controller将软件用户界面和业务逻辑分离
1.2 Spring框架介绍
Spring 是一款目前主流的 Java EE 轻量级开源框架 ,是由“Spring 之父”Rod Johnson 提出并创立,其目的是用于简化 Java 企业级应用的开发难度和开发周期,成为了构建 Java EE 应用的事实标准
两大核心IOC 与 AOP有效的管理了开发中对象的生命周期问题,也提供了与很多框架整合的工具
1.3 Spring框架的配置
1.4 Servlet
Servlet是运行在 Web 服务器或应用服务器上的Java程序,它可以收集来自前端的用户输入数据,以动态生成网页的方式呈现来自数据库的记录,其作用包括:
- 通讯功能
- Servlet对象的生命周期管理
- 多线程支持
- 安全性支持
1.5 Spring容器
Spring容器来负责创建对象并把对象关联起来提供服务,容器提供了公共服务,容器依赖于配置信息,Spring拥有两种类型的容器
- BeanFactory负责读取bean配置信息,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的生命周期,每次获取对象时才会创建对象
- ApplicationContextt由BeanFactory派生而来,同时也继承了容器的高级功能,提供了更多面向实际应用的功能。在容器启动时就会创建所有的对象
Spring Bean的生命周期从创建容器开始,到容器销毁Bean为止
1.6 Spring Bean对象的注解
Spring中的常用的注解通常分为两类,一类是用来注册Bean,一类是用来使用Bean,简单的来说bean就是一个被实例化的对象,Spring Bean的生命周期从创建容器开始,到容器销毁Bean为止
1.注册Bean
注册Bean时,@Controller, @Service, @Repository与@Component含义相同,分别用于标识Controller层,Service层,DAO层的Bean对象,这些注解都是把你要实例化的对象转化成一个Bean,放在IOC容器中,把对象交给Spring去管理
2.使用Bean
- 使用Bean时,即是把已经在xml文件中配置好的Bean拿来用,完成属性、方法的组装,当我们需要使用时直接去IOC容器中去取,而不是new一个新的对象,比如@Autowired,@Resource注解,就是从IOC容器中取Bean
1.7 控制反转
控制反转(Inversion of Control,缩写为IoC),是指Bean对象之间的依赖不由它们自己管理,而是由Spring容器负责管理对象之间的依赖,采用叫依赖注入(Dependency Injection,简称DI)的方式实现控制反转
当某个角色(可能是一个Java实例,调用者)需要另一个角色(另一个Java实例,被调用者)的协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例
但在Spring里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入
1.常见的管理对象方式有
- XML:显式定义在XML文件中
- Java:用Java代码显式的定义
- 注解:@用注解定义属性, 支持自动绑定
2.Spring注解方式
- @Autowired时,首先在容器中查询对应类型的bean
- 如果查询结果刚好为一个,就将该bean装配给@Autowired指定的数据
- 如果查询的结果不止一个,那么@Autowired会根据变量的名称来查找。