首先,按照Spring系列一中的环境搭建方式搭建好我们的开发环境,如下图所示:
从图中我们可以看到需要创建的包以及类和接口:
cs.csdn.Junit为JUnit测试包
cs.csdn.Service为服务类包
GreetingService接口源码:
package cn.csdn.service;
public interface GreetingService {
void sayGreeting();
}
GreetingServiceImpl接口实现类源码:
package cn.csdn.service;
public class GreetingServiceImpl implements GreetingService{
private String say;
@Override
public void sayGreeting() {
System.out.println("我说的是:"+say);
}
/**通过set方法进行赋值*/
public void setSay(String say) {
this.say = say;
}
}
GreetingTest测试类源码:
package cn.csdn.juint;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.csdn.service.GreetingServiceImpl;
public class GreetingTest {
@Test
public void test(){
/**解析applicationContext.xml文件*/
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
/**调用getBean方法获取bean对象 需要强制造型*/
GreetingServiceImpl gsi = (GreetingServiceImpl) ac.getBean("greetingServiceImpl");
/**调用对象相应的方法*/
gsi.sayGreeting();
}
}
ApplicationContext.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-2.0.xsd">
<bean id="greetingServiceImpl" class="cn.csdn.service.GreetingServiceImpl">
<property name="say" value="Hello"></property>
</bean>
</beans>
运行JUnit测试类结果:
我说的是:Hello
分享到:
相关推荐
【标题】"SpringCloud 在线教育 —— 界面原型.rar" 涉及到的知识点主要集中在构建基于 SpringCloud 的在线教育平台的用户界面设计上。SpringCloud 是一个微服务开发工具集,用于简化分布式系统(如配置管理、服务...
在本篇关于“Web基础——WebApp之初体验(三)”的文章中,我们将深入探讨Web应用程序(WebApp)的关键概念和技术,以及它们如何为用户提供便捷的在线体验。WebApp是互联网技术的重要组成部分,它们允许用户在浏览器...
核心技术章节深入探讨了Spring的核心组件——IoC(Inversion of Control)容器。IoC容器是Spring的核心,负责管理对象的生命周期和依赖关系。Bean是容器中的基本单元,它们被容器初始化、装配和管理。Spring提供了...
Spring 不试图取代已有框架,而是与它们无缝整合,为开发者提供更加便捷的开发体验。 【企业级应用需求】 企业级应用通常具有复杂结构,涉及多种外部资源,处理大量事务,并需要处理海量数据和众多用户。这些应用...
Spring Cloud Sleuth是Spring Cloud生态系统的一部分,它实现了分布式追踪的标准——OpenTracing和Zipkin。通过集成Sleuth,开发者可以在不修改代码的情况下,轻松地在微服务架构中实现请求的全链路追踪。 二、核心...
**二、ViewResolver(视图解析器)** ViewResolver是Spring MVC中的核心组件,它的职责是根据控制器返回的视图名找到实际的视图对象。当Controller处理完请求并返回一个视图名时,Spring MVC会调用配置的...
这三份资料——"实战Spring Security 3.x.pdf"、"Spring Security 3.pdf" 和 "Spring Security使用手册.pdf" 将深入探讨这些概念,并提供实践指导,帮助读者掌握如何在实际项目中应用Spring Security。通过学习这些...
Spring 3.0是Spring框架的一个重要版本,它在2009年发布,带来了许多增强的功能和改进,旨在提供更高效、灵活和模块化的Java应用程序开发体验。这个压缩包"spring3.0_doc_api"包含的是Spring 3.0的官方API文档,通常...
依赖注入是Spring的核心之一,它允许开发者通过外部容器管理对象之间的依赖关系,而不是让对象自己去寻找它们所依赖的对象。这样可以降低代码的耦合度,提高可测试性和可维护性。Spring提供了两种实现依赖注入的方式...
《Struts2、Spring与Hibernate整合应用:学生成绩管理系统》 在IT行业中,构建一个高效、稳定的Web应用程序常常需要整合不同的框架。本项目“学生成绩管理系统”就是基于Struts2、Spring和Hibernate三大主流Java ...
- **安全web请求的架构**:Spring Security采用拦截器链(Filter Chain)模型来处理请求,每个请求都会经过一系列的过滤器,直到找到匹配的URL模式为止。 #### 三、增强用户体验 - **自定义登录页**:允许开发者...
Spring之所以能够迅速崛起并获得广泛认可,关键在于其独特的设计理念——控制反转(Inversion of Control,简称IoC)和依赖注入(Dependency Injection,简称DI)。这些设计理念不仅简化了开发流程,还提高了软件的...
通过SpringBoot的便捷性和SpringSecurity的强大安全特性,配合Vue.js的前端交互能力,可以构建出一个既满足业务需求又具备良好用户体验的系统。对于开发者来说,这样的项目实践有助于提升对前后端分离架构的理解,...
3. **Spring WebFlux**:Spring 5引入了一个全新的响应式编程模型——Spring WebFlux,它支持非阻塞式I/O,适用于高并发、低延迟的场景。在5.1.8版本中,WebFlux的性能和稳定性都得到了提升。 4. **数据访问**:...
Spring Framework是Java开发领域中最广泛使用的轻量级框架之一,其4.3.10.RELEASE版本是一个稳定且功能丰富的版本。这个版本包含了对先前版本的改进和修复,旨在提高性能、增强安全性,并提供更好的开发者体验。让...
Spring框架中的静态资源配置是其核心功能之一,用于处理应用程序中的静态资源,如CSS、JavaScript、图片等。在Spring Boot中,这个过程被自动化,使得开发者无需编写大量代码即可管理静态资源。在本文中,我们将深入...
然而,对于Spring Boot的开发者来说,有一个重要的工具——Spring Assistant,在2019.3.5版本之后,IDEA社区版官方不再直接支持。这无疑给使用社区版的开发者带来了一些不便。庆幸的是,经过热心社区成员的努力,...
【注册表单实现详解——基于Spring MVC、Hibernate、Spring及EasyUI】 在现代Web应用开发中,使用MVC(Model-View-Controller)架构模式能够有效地分离业务逻辑、数据模型和用户界面,提高代码的可维护性和可扩展性...
本书介绍了Spring背后的原理,引领你迅速进入对框架的体验之中。结合简短代码片断和贯穿全书的持续示例,本书向你展示了如何创建简单有效的J2EE 应用系统。你将看到如何使用先进的开源工具解决持久层问题,以及如何...