zoukankan      html  css  js  c++  java
  • 初识Spring框架

    一、Ioc

      1)概念:Ioc(Inversion Of Control)控制反转,也被称为依赖注入DI(Dependency Injection),是面向对象编程的一种思想。

      2)作用:用来减低程序代码之间的耦合度。

    1、深入剖析什么叫依赖?

      解析:依赖在代码中一般指通过局部变量、方法参数、返回值等建立的对于其他对象调用的关系。(eg.在A类的方法中,实例化B类的对象并调用其方法已完成特定的功能,我们就说A类依赖B类

    2、控制反转的思想是什么?

      解析:控制反转的思想是:将业务逻辑层不在依靠自身的代码去获取所依赖的具体DAO对象,而是把这项工作转交给了“第三方”。

    3第一个案例-------------------->输出Hello,Spring

    第一步:初识jar

    第二步:创建HappyService类

    package cn.happy.spring;
    //第一个案例
    public class HappyService {
        //定义一个变量
    private String info;
        //定义一个方法
        public void work(){
            System.out.println("Hello,"+info);
        }
    @Override
    //重写了object类的ToString()方法;说白了也就是object类的toString()方法不满足你的需求
    //你根据需求重写一个toString方法
    public String toString(){
        return "HappyService[info="+info+"]";
    }
        public String getInfo() {
            return info;
        }
        public void setInfo(String info) {
            this.info = info;
        }
        
    }

    第三步:创建一个配置applicationContext.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xsi:schemaLocation="
            http://www.springframework.org/schema/beans 
            http://www.springframework.org/schema/beans/spring-beans.xsd
             http://www.springframework.org/schema/aop
             http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
            ">
            
     <!-- IOC 将HappyService 交给Spring管理 -->
       <bean id="happy" class="cn.happy.spring.HappyService">
            <!-- DI 从setInfo方法得知,HelloService依赖info属性,注入-->
             <property name="info" value="spring"/>
       </bean>
    </beans>

    第四步:测试类

    //第一个案例:“输出HelloSpring”
        @Test
           public void testHappyService(){
            
            //ClassPathXmlApplicationContext实例化spring上下文
               ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
            // ApplicationContext的getBean方法,根据id获取bean的实列
               HappyService service=(HappyService) context.getBean("happy");
               System.out.println(service.getInfo());
             //执行work方法 
            /* service.work();*/
           }
        

      解析:ApplicationContext是一个接口

          * 作用:负责读取Spring配置文件,管理对象的加载、生成,维护Bean对象与Bean对象之间的依赖关系,负责Bean的生命周期
         ClassPathXmlApplicationContext是ApplicationContext接口的实现类
          * 作用:用于从classpath路径中读取Spring配置文件

     二、AOP

      1)Aop的发展历史:

        解析:AOP是面向切面编程(Aspect Oriented Programming)是软件编程思想发展到一定阶段的产物,是面向对象编程(Obejct Oriented Programming OOP)的

           有益补充。

      2)AOP的用途:

        AOP一般适用于具有横切逻辑的场合,如访问控制、事务管理、性能监测等。

      3)由上述我们也许疑问什么是横切逻辑呢?

        解析:在业务系统中,总有一些散落、渗透到系统各处不得不处理的事情,这些穿插在既定业务中的操作就是所谓的“横切逻辑”,也称为“切面”。

      4)AOP的作用:简单的说就是在不改变原程序的基础上为代码段增加新的功能,对代码进行增强处理。它的设计思想来源代理设计模式。

      

  • 相关阅读:
    swoole创建进程
    php中,posix_getpid() 和 getmypid() 有什么不同
    php查看进程
    初探PHP多进程
    nginx转发
    mime类型
    acwing 517. 信息传递
    LeetCode 1255 得分最高的单词集合 Maximum Score Words Formed by Letters
    LEETCODE 1254 统计封闭岛屿的数目 Number of Closed Islands
    算法问题实战策略 SORTGAME
  • 原文地址:https://www.cnblogs.com/yejiaojiao/p/5912488.html
Copyright © 2011-2022 走看看