- /*带参数,方便利用构造器进行注入*/
- public CatDaoImpl(String message){
- this. message = message;
- }
- <bean id="CatDaoImpl" class="com.CatDaoImpl">
- <constructor-arg value=" message "></constructor-arg>
- </bean>
- public class Id {
- private int id;
- public int getId() { return id; }
- public void setId(int id) { this.id = id; }
- }
- <bean id="id" class="com.id "> <property name="id" value="123"></property> </bean>
静态工厂顾名思义,就是通过调用静态工厂的方法来获取自己需要的对象,为了让 spring 管理所有对象,我们不能直接通过"工程类.静态方法()"来获取对象,而是依然通过 spring 注入的形式获取:
- public class DaoFactory { //静态工厂
- public static final FactoryDao getStaticFactoryDaoImpl(){
- return new StaticFacotryDaoImpl();
- }
- }
- public class SpringAction {
- private FactoryDao staticFactoryDao; //注入对象
- //注入对象的 set 方法
- public void setStaticFactoryDao(FactoryDao staticFactoryDao) {
- this.staticFactoryDao = staticFactoryDao;
- }
- }
- //factory-method="getStaticFactoryDaoImpl"指定调用哪个工厂方法
- <bean name="springAction" class=" SpringAction" >
- <!--使用静态工厂的方法注入对象,对应下面的配置文件-->
- <property name="staticFactoryDao" ref="staticFactoryDao"></property>
- </bean>
- <!--此处获取对象的方式是从工厂类中获取静态方法-->
- <bean name="staticFactoryDao" class="DaoFactory"
- factory-method="getStaticFactoryDaoImpl"></bean>
实例工厂的意思是获取对象实例的方法不是静态的,所以你需要首先 new 工厂类,再调用普通的实例方法:
- public class DaoFactory { //实例工厂
- public FactoryDao getFactoryDaoImpl(){
- return new FactoryDaoImpl();
- }
- }
- public class SpringAction {
- private FactoryDao factoryDao; //注入对象
- public void setFactoryDao(FactoryDao factoryDao) {
- this.factoryDao = factoryDao;
- }
- }
- <bean name="springAction" class="SpringAction">
- <!--使用实例工厂的方法注入对象,对应下面的配置文件-->
- <property name="factoryDao" ref="factoryDao"></property>
- </bean>
- <!--此处获取对象的方式是从工厂类中获取实例方法-->
- <bean name="daoFactory" class="com.DaoFactory"></bean>
- <bean name="factoryDao" factory-bean="daoFactory"
- factory-method="getFactoryDaoImpl"></bean>
Spring 装配包括手动装配和自动装配,手动装配是有基于 xml 装配、构造方法、setter 方法等
自动装配有五种自动装配的方式,可以用来指导 Spring 容器用自动装配方式来进行依赖注入。
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的
配置。通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域(rapid application
development)成为领导者。其特点如下:
Spring 的模型-视图-控制器(MVC)框架是围绕一个 DispatcherServlet 来设计的,这个 Servlet会把请求分发给各个处理器,并支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染等,甚至还能支持文件上传。
Http 请求 到 DispatcherServlet
(1) 客户端请求提交到 DispatcherServlet。
HandlerMapping 寻找处理器
(2) 由 DispatcherServlet 控制器查询一个或多个 HandlerMapping,找到处理请求的
Controller。
调用处理器 Controller
(3) DispatcherServlet 将请求提交到 Controller。
Controller 调用业务逻辑处理后,返回 ModelAndView
(4)(5)调用业务处理和返回结果:Controller 调用业务逻辑处理后,返回 ModelAndView。
DispatcherServlet 查询 ModelAndView
(6)(7)处理视图映射并返回模型: DispatcherServlet 查询一个或多个 ViewResoler 视图解析器,
找到 ModelAndView 指定的视图。
ModelAndView 反馈浏览器 HTTP
(8) Http 响应:视图负责将结果显示到客户端。