Spring轻量级容器依赖注入

  1. Spring 的概述:
    Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring 使用基本的 JavaBean来完成以前只可能由 EJB 完成的事情。然而,Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。Spring 的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring 是一个分层的 JavaSE/EEfull-stack(一站式) 轻量级开源框架。
    EE 开发分成三层结构:
  • WEB 层:Spring MVC.
  • 业务层:Bean 管理:(IOC)
  • 持久层:Spring 的 JDBC 模板.ORM 模板用于整合其他的持久层框架.

2.控制反转 :
IOC 的底层实现原理:IOC:Inversion of Control 控制反转. 指的是 对象的创建权反转(交给)给 Spring. 作用是实现了程序的解耦合. IOC被认为是任何容器都需要提供的基本功能之一,他有两种形式:依赖查找和依赖注入。
依赖注入 :依赖注入的基本原则是:应用程序对象不应该负责查找他们所依赖的资源或协作者,而是应该有IOC容器处理创建和依赖注入,从而导致资源查找的外部化,从应用程序代码转移到容器。

  1. Spring 的开发包:
    下 载 地 址 :http://repo.springsource.org/libs-release-local/org/springframework/spring
    解压:(Spring 目录结构:)
  • docs :API 和开发规范.
  • libs :jar 包和源码.
  • schema :约束.
  1. Spring 的相关配置:
    ①—— id 属性和 name 属性标签的配置

id:Bean起个名字.在约束中采用ID的约束:唯一.必须以字母开始,可以使用字母、数字、连字符、

下划线、句话、冒号id:不能出现特殊字符.

<beanid=”bookAction”>

name:Bean 起个名字.没有采用ID的约束.name:出现特殊字符.如果没有 id 的话,name可

以当做 id使用.

*整合 struts1的时候:

<beanname=”/loginAction”>
②—— scope 属性:Bean 的作用范围.

*singleton:默认值,单例的.

*prototype:多例的.

*request:WEB项目中,Spring创建一个 Bean的对象,将对象存入到 request域中.

*session:WEB项目中,Spring创建一个 Bean的对象,将对象存入到 session域中.

*globalSession:WEB项目中,应用在Porlet环境.如果没有Porlet环境那么 globalSession相当

于 session.
5.**一个简单的示例
**
①.导包
在这里插入图片描述
②.实体类


public class test {
    private String id;
    private String name;

    public test(String id, String name) {
        this.id = id;
        this.name = name;
    }
    public test(){}
    @Override

    public String toString() {
        return "zzz{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                '}';
    }
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

③.编写spring_confin.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<beans>
    <bean id="zz" class="chang.test">
        <property name="id" value="1"></property>
        <property name="name" value="钟鹏"></property>
    </bean>
</beans>
</beans>

④.测试类

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Junit {
    @Test
    public void test(){
        ApplicationContext context =new ClassPathXmlApplicationContext("spring_confin.xml");
        test obj=(test)context.getBean("zz");
        System.out.println(obj.getId());
        System.out.println(obj.getName());
    }
}

⑤.运行结果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值