初识Spring课下总结一

这篇博客介绍了Spring框架的基础——IoC(控制反转)和DI(依赖注入)。通过一个简单的Spring程序,展示了如何下载Spring框架的依赖,编写配置文件,并在测试代码中实现属性注入。文章提到了Spring初始化运行环境的两种方式,并预告了如何处理Java类中属性类型为JavaBean的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        IoC和DI是Spring的基础IoC是Inversion of Control的缩写,译为“控制反转”,还有的译为“控制反向”或者“控制倒置”。

        Spring通过IOC容器管理,将创建对象的控制权限给IOC容器。


第一个Spring程序

 实现步骤:

1.下在依赖包,通过地址“http://repo.spring.io/simple/libs-release-local/org/springframework/spring/4.3.6.RELEASE/”下载,其框架压缩包名称为spring-framework-4.3.6.RELEASE-dist.zip

        libs目录中的JAR包分为3类:

  1. 以RELEASE.jar结尾的是Spring框架class文件的压缩包。
  2. 以RELEASE-javadoc.jar结尾的是Spring框架API文档的压缩包。
  3. 以RELEASE-sources.jar结尾的是Spring框架源文件的压缩包。

在libs目录中,有4个Spring的基础包,它们分别对应Spring核心容器的4个模块:

Spring4个基础包
包名说明
spring-core-4.3.6.RELEASE.jar包含 Spring框架基本的核心工具类,Spring其他组件都要用到这个包里的类
spring-beans-4.3.6.RELEASE.jar所有应用都要用到的JAR包,包含访问配置文件、创建和管理 Bean以及进行IoC或者DI操作相关的所有类
spring-context-4.3.6.RELEASE.jarSpring提供了在基础 IoC功能上的扩展服务,还提供了许多企业级服务的支持,如任务调度、JNDI定位、EJB集成、远程访问、缓存、邮件服务以及各种视图层框架的封装等
spring-expression-4.3.6.RELEASE.jar定义了Spring的表达式语言

2.编写配置文件

        编写Spring配置文件,在项目的根路径下src创建文件spring-config.xml。在Spring配置文件中创建HelloSpring类的实例并为类中的hello属性注入属性值。

<!--    bean中,属性id的值必须唯一,属性class的值为类的全类名-->
    <bean id="helloWorld" class="bdqn.bean.HelloWorld">
<!--        通过标签property 反射机制调用类HelloWorld的seter方法,并为参数赋值-->
        <property name="message">
            <value>西瓜好吃(#^.^#)</value>
        </property>
    </bean>

 3.编写测试代码

        通过Spring进行属性注入,关键代码如下:

 public static void main(String[] args) {
        //加载xml文件,读取JavaBean,通过反射获取类的实例对象
        ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");
        //通过bean的id获取指定类的HelloWorld实例对象
        HelloWorld helloWorld= (HelloWorld) context.getBean("helloWorld");
        System.out.println(helloWorld.getMessage());
        HelloServiceImpl helloService = (HelloServiceImpl) context.getBean("helloService");
        helloService.addMessage();
        logger.info("log:info  "+helloWorld.getMessage());
    }

Spring初始化运行环境的2中方式:

 //ClassPathXmlApplicationContext 是读取 src 目录下的配置文件
        ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");
        // FileSystemXmlApplicationContext 即系统文件路径,文件的目录。
        // (注意:如果你的xml文件放在WEB-INF文件夹下,需要用这个,否则会找不到该文件)
        ApplicationContext context2=new FileSystemXmlApplicationContext("D:spring-config.xml");

通过id或类获取实例对象

HelloWorld helloWorld= (HelloWorld) context.getBean("helloWorld");
        System.out.println(helloWorld.getMessage());

通过第一个Spring程序我们已经对Spring有了基本的理解,实现了通过Spring创建java类的实例,并对其属性以“注入”的方式进行赋值。那么,如果Java类的属性类型为JavaBean,如UserService中的UserDao,要怎么实现呢?下节课继续详解。(#^.^#)

<think>好的,我现在需要帮助用户了解Java EE环境下Spring的基本概念和入门知识。首先,用户明确提到了“Java EE Spring 入门教程 基本概念”,所以我的回答需要涵盖Spring的核心概念,并结合Java EE的环境。根据用户提供的引用内容,我需要整合这些信息,确保引用的正确使用。 首先,用户提供的引用中有关于Spring框架的优点、入门程序、配置文件以及控制反转的内容。我需要将这些内容组织成个结构清晰的回答,分点解释基本概念,并可能包含个简单的入门示例。同时,根据系统级指令,必须使用中文,正确使用LaTeX格式的数学公式(虽然这里可能不涉及数学公式,但要注意其他格式要求),并在引用处添加标识。 接下来,我需要确定回答的结构。通常,入门教程的结构可能包括框架简介、核心概念、优点、入门步骤、示例代码以及常见问题。用户的问题集中在基本概念和入门知识,所以应该重点放在Spring的核心概念,比如IoC(控制反转)、DI(依赖注入)、Spring容器、配置文件等。同时,结合用户提供的引用中的代码示例,比如TestHelloSpring类和applicationContext.xml配置,可以展示个简单的Spring应用创建过程。 另外,需要确保引用的正确引用。例如,引用[2]提到了Spring的优点,引用[3]和[5]提供了入门程序的代码示例,引用[4]涉及配置文件的结构。在回答中,当提到这些内容时,需要自然地添加引用标识,比如在解释控制反转时引用[5],在示例代码处引用[3]和[4]。 需要注意用户可能对SpringJava EE中的作用不太清楚,需要简要说明Spring如何融入Java EE环境,比如简化企业级应用开发,整合其他Java EE技术等。同时,要避免过于深入的技术细节,保持入门级别的解释。 最后,生成的相关问题需要围绕Spring的基本概念和进步学习的方向,比如IoC与DI的区别、Bean的作用域、Spring与其他框架的整合等。这些问题应帮助用户深化理解或进行下步的学习。 现在,需要检查是否符合所有系统指令:使用中文、正确引用、LaTeX格式(虽然可能不涉及数学内容,但代码块需正确)、结构清晰、生成相关问题。同时确保引用标识正确,比如[^2]、[^3]等放置在对应的解释部分末尾。</think>### Java EE环境下Spring框架基本概念与入门指南 #### Spring框架的核心概念 1. **控制反转(IoC)** Spring通过IoC容器管理对象的生命周期和依赖关系。开发者不再手动创建对象,而是由容器完成对象的创建和依赖注入。例如,通过XML配置文件定义Bean后,可直接从容器中获取实例[^5]。 数学示例:若对象依赖关系可表示为$A \rightarrow B \rightarrow C$,IoC容器会自动完成依赖链的构建。 2. **依赖注入(DI)** 是IoC的具体实现方式,通过构造函数、Setter方法或注解将依赖对象注入目标对象。例如: ```xml <bean id="userDao" class="com.example.UserDaoImpl"/> <bean id="userService" class="com.example.UserService"> <property name="userDao" ref="userDao"/> <!-- 注入依赖 --> </bean> ``` 此处`userService`的`userDao`属性由容器自动注入[^4]。 3. **Spring容器** 核心接口为`ApplicationContext`,负责加载配置文件并管理Bean。常用实现类包括: - `ClassPathXmlApplicationContext`:从类路径加载XML配置 - `FileSystemXmlApplicationContext`:从文件系统加载配置 #### 二、Spring框架的优势 1. **解耦与模块化** 通过DI降低组件间耦合度,提升代码复用性。 2. **整合企业级服务** 支持事务管理、安全框架等Java EE服务集成。 3. **声明式编程** 通过AOP实现日志、事务等横切关注点的声明式管理。 #### 三、入门实践:HelloSpring示例 1. **配置XML文件** ```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"> <bean id="helloSpring" class="com.example.HelloSpring"/> </beans> ``` 此配置定义了个名为`helloSpring`的Bean。 2. **Java测试类** ```java public class TestHelloSpring { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); HelloSpring hello = (HelloSpring) context.getBean("helloSpring"); hello.show(); // 输出: "Hello Spring!" } } ``` 此处通过容器获取Bean实例并调用方法[^3]。 #### 四、SpringJava EE中的角色 Spring通过整合JDBC、JPA、消息队列等模块,简化企业级应用开发。例如: - 使用`Spring MVC`构建Web层 - 通过`Spring Data`简化数据库操作 - 利用`Spring Security`实现权限控制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值