Spring IOC

Spring第一天  入门

1.SpringIOC理解。

2.编写Spring的程序:

  1)引入Spring相关的jar包。(可以从官网下载,下载之后将lib下的jar包拷贝到项目中,另外一种方式是通过myeclipse去完成…..

  2)编写applicationContext.xml配置文件(将java的对象注入到IOC容器里)。比如:


<?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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">

//

3.Spring中如何注入一个对象?

 分类:

1set注入(属性注入)。(无参构造函数)


    <bean id="fan" class="com.model.Woman">
        <property name="name" value="范冰冰" ></property>
        <property name="age" value="32" ></property>
        <property name="type" value="女神" ></property>
    </bean>

2)构造函数的注入:


    <bean id="liu" class="com.model.Woman">
        <constructor-arg value="刘亦菲" name="_name" type="java.lang.String"></constructor-arg>
        <constructor-arg value="30" name="_age" type="int"></constructor-arg>
        <constructor-arg value="美女" name="_type" type="java.lang.String"></constructor-arg>
    </bean>

3)匹配bean对象  ref元素是用在property中,来设置需要引用的容器管理的其它Bean。
    <bean id="li" class="com.model.Man">
        <property name="name" value="李晨"></property>
        <property name="fan" ref="fan"></property>
    </bean>

</beans>

测试:第3个
package com.UI;


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


import com.model.Man;
import com.model.Woman;


public class TextUI {
public static void main(String[] args){
ApplicationContext appContext = new ClassPathXmlApplicationContext("applicationContext.xml");
//Woman woman=appContext.getBean("li",Woman.class);
Man man=appContext.getBean("li",Man.class);
System.out.println("姓名:"+man.getName()+"女朋友的名字:"+man.getFan().getName());
}


}


### Spring IOC (Inversion of Control) 概念 Spring框架的核心特性之一是控制反转(Inversion of Control, IoC),也称为依赖注入(Dependency Injection, DI)。这一概念改变了传统应用程序中对象创建的方式,在传统的Java开发里,开发者通常通过`new`关键字实例化对象,这意味着程序本身负责对象的创建和管理。然而,当引入Spring之后,这些职责被转移到了SpringIoC容器上[^2]。 具体来说,控制反转指的是将原本由程序员手动编写的对象创建逻辑交给框架处理,即不再直接在代码内部显式地初始化组件和服务,而是让外部环境(如Spring容器)完成这项工作并将其传递给需要的对象。这种方式不仅简化了编码过程,而且提高了系统的灵活性与可维护性[^3]。 ### 使用方法 为了利用SpringIoC功能,首先需定义好所需的bean及其相互间的依赖关系,这可以通过XML文件、注解或是基于Java配置类的形式来实现。一旦完成了上述设置,则可通过如下几种途径获取已注册于容器中的bean: #### 基本操作示例 下面是一个简单的例子展示了如何在一个单元测试环境中使用Spring上下文加载配置,并从中检索服务接口的具体实现: ```java public class SpringTest { @Test public void test() { // 创建应用上下文 ApplicationContext ac = new AnnotationConfigApplicationContext(SpringConfig.class); // 获取名为userService的服务实例 UserService userService = (UserService) ac.getBean("userService"); // 调用业务方法 userService.save(); } } ``` 这段代码片段说明了怎样借助`AnnotationConfigApplicationContext`读取指定配置类(`SpringConfig`)的信息建立起整个应用程序的工作空间——也就是所谓的“应用上下文”。接着便能依据名称从该上下文中提取出特定的服务对象来进行后续的操作[^4]。 另外值得注意的是,除了最基础的应用场景外,Spring还提供了更为灵活多样的扩展选项,比如支持不同形式的工厂模式以及更复杂的装配策略等,满足各种复杂度下的需求[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值