栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring框架(2)—IOC、MVC

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring框架(2)—IOC、MVC

文章目录

一、Spring的loC容器

IOC的概念DI是什么?

set注入(推荐)构造方法注入接口注入(少) 二、springmvc框架

springmvc-helloworld

maven项目(javaee)引入springmvc框架完成Controller层的代码配置springmvc框架

配置IoC容器(mvc 容器)配置servlet

一、Spring的loC容器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7thD44cJ-1647445462666)(D:dyit20220227docimagescontainer-magic.png)]

Spring 容器是 Spring 框架的核心。容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁。

IOC 容器具有依赖注入功能的容器,它可以创建对象,IOC 容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。通常new一个实例,控制权由程序员控制,而"控制反转"是指new实例工作不由程序员来做而是交给Spring容器来做。

Spring IoC容器–工厂—》工厂模式

POJO(对象)

配置(xml、注解)—> 解析—>POJO—> IoC—>从IoC获取对象

IOC的概念

IoC: Inverse Of Control 控制反转

  • 工厂中创建了对象,放入缓存中

  • 之前的方式: 需要对象 act.getBean(“对象的id”)—>对象

  • 工厂(IoC):

    A —>B

    a(){ new B()}:控制器在A,A创建B对象

    a(){factory.create()} :控制权转移,造出B对象 a主动通知工厂

    A{

    private B b ;

    }

    IoC容器含义B对象, 发现A需要B的对象,将B的对象注入给A

    好莱坞原则:演员–》导演–》简历

    你们不用找我,你们的信息我都有,当我需要演员时候,我会主动找你。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xCLMdZ8U-1647445462675)(D:dyit20220227docimagesimage-20220227095448627.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3bkETMqh-1647445462677)(D:dyit20220227docimagesimage-20220227095510318.png)]

    DI是什么?

    实现过程中,很复杂,很难实现。 有些概念没有交代的特别请求。

    Thoughsworks—>Martin Flower– >微服务

    控制权是什么?

    如何反转?反转什么?

    实现过程中DI: 依赖注入

    set注入(推荐)
    
    
    	
    	
    	
    
    
    构造方法注入
    public class Author {
    	
    	private Integer id;
    	private String name;
    	private String address;
    	
    	public Author() {
    	}
    	
    	public Author(String name, String address) {
    		this.name = name;
    		this.address = address;
    	}
    
    	@Override
    	public String toString() {
    		return "Author [id=" + id + ", name=" + name + ", address=" + address + "]";
    	}
    
    }
    
    
      
      
    
    
    接口注入(少) 二、springmvc框架

    spirngmvc框架是对servlet的封装

    MVC: struts2 、 springmvc

    SSH(组合), SSM(Spring)

    springmvc-helloworld maven项目(javaee)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sHZCKLlZ-1647445462682)(D:dyit20220227docimagesimage-20220227103113058.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U3mRTeWG-1647445462683)(D:dyit20220227docimagesimage-20220227103200686.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UkLwQdNF-1647445462684)(D:dyit20220227docimagesimage-20220227103230626.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ex2vlXgS-1647445462685)(D:dyit20220227docimagesimage-20220227103300209.png)]

    
    
      springmvc-hello
    
    
    
    引入springmvc框架
    
    	4.0.0
    	com.dyit.spring
    	springmvc-hello
    	0.0.1-SNAPSHOT
    	war
    	
    	
    		5.3.16
    		1.2.17
    		1.18.22
    		2.13.1
    	
    
    	
    		
    			org.springframework
    			spring-webmvc
    			${project.spring.version}
    		
    
    		
    			log4j
    			log4j
    			${project.log.version}
    		
    		
    			org.projectlombok
    			lombok
    			${project.lombok.version}
    		
    		
    			com.fasterxml.jackson.core
    			jackson-databind
    			${project.json.version}
    		
    	
    
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KHdqqXzc-1647445462686)(D:dyit20220227docimagesimage-20220227105104682.png)]

    完成Controller层的代码
    @Controller
    public class PublisherController {
    
    	@GetMapping("/findAll")
    	@ResponseBody
    	public HttpResp findAll() {
    		
    		List list = new ArrayList();
    		list.add(new Publisher(1, "工人出版社",  "西安"));
    		list.add(new Publisher(2, "神话出版社",  "北京"));
    		list.add(new Publisher(3, "少儿出版社",  "上海"));
    		
    		HttpResp dto = new HttpResp(20001, "查询所有出版社成功",list, new Date());
    		return dto;	
    	}
    }
    
    配置springmvc框架 配置IoC容器(mvc 容器)
    
    
    
    	
    	
    	
    	
    
    
    
    配置servlet
    
    
      springmvc-hello
      
     
    		springDispatcherServlet
    		org.springframework.web.servlet.DispatcherServlet
    		
    			contextConfigLocation
    			classpath:spring/springmvc-*.xml
    		
    		1
    	
    
    	
    	
    		springDispatcherServlet
    		/*
    	
    
    
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aaJ10sJL-1647445462687)(D:dyit20220227docimagesimage-20220227112932898.png)]

  • 转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/771191.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号