zoukankan      html  css  js  c++  java
  • spring helloword

    控制反转:

    Inversion on Control , 控制反转 IOC

    对象的创建交给外部容器完成,这个就做控制反转.

    依赖注入,  dependency injection

    处理对象的依赖关系

    区别:

     控制反转, 解决对象创建的问题 【对象创建交给别人】

    依赖注入,

    在创建完对象后, 对象的关系的处理就是依赖注入 【通过set方法依赖注入】

    AOP

    面向切面编程。切面,简单来说来可以理解为一个类,由很多重复代码形成的类。

    切面举例:事务、日志、权限;

    1) 源码, jar文件:spring-framework-3.2.5.RELEASE

    commons-logging-1.1.3.jar           日志

    spring-beans-3.2.5.RELEASE.jar        bean节点

    spring-context-3.2.5.RELEASE.jar       spring上下文节点

    spring-core-3.2.5.RELEASE.jar         spring核心功能

    spring-expression-3.2.5.RELEASE.jar    spring表达式相关表

    以上是必须引入的5jar文件,在项目中可以用户库管理!

    2) 核心配置文件: applicationContext.xml  

    Spring配置文件:applicationContext.xml / bean.xml

    约束参考:

    spring-framework-3.2.5.RELEASEdocsspring-framework-referencehtmlsingleindex.html

    <beans xmlns="http://www.springframework.org/schema/beans"

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        xmlns:p="http://www.springframework.org/schema/p"

        xmlns:context="http://www.springframework.org/schema/context"

        xsi:schemaLocation="

            http://www.springframework.org/schema/beans

            http://www.springframework.org/schema/beans/spring-beans.xsd

            http://www.springframework.org/schema/context

            http://www.springframework.org/schema/context/spring-context.xsd">

    </beans>   

    public class App {

    // 1. 通过工厂类得到IOC容器创建的对象

    @Test

    public void testIOC() throws Exception {

    // 创建对象

    // User user = new User();

    // 现在,把对象的创建交给springIOC容器

    Resource resource = new ClassPathResource("cn/itcast/a_hello/applicationContext.xml");

    // 创建容器对象(Bean的工厂), IOC容器 = 工厂类 + applicationContext.xml

    BeanFactory factory = new XmlBeanFactory(resource);

    // 得到容器创建的对象

    User user = (User) factory.getBean("user");

    System.out.println(user.getId());

    }

    //2. (方便)直接得到IOC容器对象

    @Test

    public void testAc() throws Exception {

    // 得到IOC容器对象

    ApplicationContext ac = new ClassPathXmlApplicationContext("cn/itcast/a_hello/applicationContext.xml");

    // 从容器中获取bean

    User user = (User) ac.getBean("user");

    System.out.println(user);

    }

    }

  • 相关阅读:
    微信小程序scroll-viwe遇到的问题
    微信小程序缓存
    微信刷新数据不刷新页面的另一个方法
    微信小程序中无刷新修改
    Bayesian
    深度学习(七)object detection
    深度学习(十二)wide&deep model
    深度学习(十)训练时的调参技巧
    深度学习(九)过拟合和欠拟合
    深度学习(二)常见概念
  • 原文地址:https://www.cnblogs.com/hello-liyb/p/8252099.html
Copyright © 2011-2022 走看看