zoukankan      html  css  js  c++  java
  • spring第三篇

    在昨天下午更新sprin第二篇中,叙述了将对象交给spring创建和管理,今天在spring第三篇中,主要写两个点一是spring的思想 二是spring中bean元素的属性配置。

    1 spring思想 

       1.1 IOC(Inverse of  Control) :控制反转,将对象的创建权交给了 Spring.

       1.2  DI :Dependency Injection 依赖注入.需要有IOC 的环境,Spring 创建这个类的过程中,Spring 将类的依赖的属性设置进去. 实现IOC 需要DI做支持,在注入方式上有set注入

             构造函数注入  字段注入  其中set注入是最常用的,构造函数相对来说用的也相对较多。

    2 spring 配置详解

       2.1 bean元素的配置

          clas属性 :被管理对象的完整类名

          name属性:需要给被管理对象起一个名字 可以重复

           id属性:与name属性一模一样 但是名字不可以重复  建议使用name属性

       建立User和Plane两个类(分别有名字年龄以及名字和颜色的属性   生成get和set  同时生成toString方法)---》代码省略

       配置代码如下:

    <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans"                  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
      <bean name="user" class="com/lijun/Demo/User.java"></bean>
    </beans>

    同时bean元素还可以配置scope 属性   scope的默认值为sigleton ----->单例表示spring容器中只会存在一个实体

    配置文件如下

    <bean name="user" class="bean.User"></bean>

    测试代码如下:

    package demo;

    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;

    import bean.User;

    public class Demo {
    @Test
    public void fun1(){
    ApplicationContext ac = new ClassPathXmlApplicationContext("NewFile.xml");
    User u = (User)ac.getBean("u");
    User u1 = (User)ac.getBean("u");
    System.out.println(u==u1);
    }
    }   结果为true

    当配置文件为:<bean name="u" class="bean.User" scope="prototype"></bean>

    测试代码不变   结果为false

  • 相关阅读:
    RabbitMQ
    操作系统复习知识
    计算机网络相关知识复习
    转帖--Linux的文件检索(locate、find、which、whereis)
    go-ioutil
    使用wrk进行压测
    03x01 Java基础语法
    02x03 Hello World!!!
    02x02 环境搭建
    02x01 Java入门
  • 原文地址:https://www.cnblogs.com/lijun6/p/10344425.html
Copyright © 2011-2022 走看看