<?xml version="1.0" encoding="UTF-8"?> <!-- Bean头部 --> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"> <bean id="s1" class="com.hisky.test.Student" init-method="init" scope="singleton"> <constructor-arg index="0" value="10"></constructor-arg> </bean> <bean id="s2" class="com.hisky.test.Student" init-method="init" scope="singleton"> <constructor-arg index="0" value="10"></constructor-arg> </bean> </beans>
在Spring的配置文件中设置bean的scope为单例类型,启动没有问题,而且也能取到两个对象。
@ContextConfiguration("classpath:/spring/test.xml") public class Test extends AbstractTestNGSpringContextTests { @Autowired @Qualifier("s1") Student s1; @Autowired @Qualifier("s2") Student s2; @org.testng.annotations.Test public void testname() throws Exception { System.out.println(s1); System.out.println(s2); } }
输出显示,获取到的是两个不同的对象。所以Spring的单例,意味着对象被调用的时候,不再重新创建。但在JVM中,可以存在同一类的多个bean示例。
相关推荐
4. **原型模式**:Spring支持基于原型(Prototype)的bean定义,这意味着可以创建一个Bean的实例,然后复制该实例以创建新的对象。这种方式在需要大量相似对象时非常有效,避免了重复的创建过程。 5. **单例模式**...
4. **Spring MVC**:Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序。它提供了一个分层架构,包括模型、视图和控制器,使得开发人员能够更容易地处理HTTP请求和响应。 5. **注解驱动开发**:Spring...
Spring Boot 入门教程及示例代码,手把手快速上手教程-源码
它预设了许多默认配置,使得开发者能快速创建一个可运行的项目。 5. **Spring Data**:这是一个用于简化数据访问的模块,支持多种数据库,包括JPA(Java Persistence API)、Hibernate以及NoSQL数据库。它提供了...
Spring 框架是Java开发中的一个核心框架,它提供了全面的应用程序开发模型,用于简化企业级应用的开发。Spring框架的设计目标是使创建和维护Java应用程序变得更加简单,特别是通过使用依赖注入(Dependency ...
标签"系统开源"意味着Spring Security是一个开放源码项目,它遵循Apache 2.0许可证,允许开发者自由使用、修改和分发。开源社区的支持使得Spring Security不断进化,拥有丰富的文档和社区支持,方便开发者解决遇到的...
8. **Spring Security**:Spring Security是一个强大的安全框架,提供了身份验证、授权和安全控制等功能,保护Spring应用免受各种攻击。 9. **Spring Batch**:Spring Batch是Spring框架的一个模块,专门用于处理...
- **作用域**:Spring支持单例(singleton)、原型(prototype)、请求(request)、会话(session)等多种作用域,每种作用域的bean有不同的生命周期和可见范围。 4. **Bean的自动装配** - **byName**:通过bean...
1. **Java 8支持**:Spring5全面支持Java 8,这意味着你可以充分利用Java 8的新特性,如Lambda表达式、Stream API以及日期和时间API。这对于编写简洁、高效的代码至关重要。 2. **Reactive编程模型**:Spring5引入...
1. **Spring核心概念**:Spring框架的基础是依赖注入(Dependency Injection,DI),它允许组件之间松耦合,通过容器管理对象的生命周期和依赖关系。另外,Spring Bean是Spring中的核心概念,是被容器管理的对象。 ...
Spring Boot 是一个由 Pivotal Team 开发的 Java 框架,用于简化Spring应用程序的初始搭建以及开发过程。它的核心特性是可以内嵌Servlet容器,如Tomcat或Jetty,这样我们无需打包成WAR文件,可以直接运行JAR文件。...
总的来说,"Spring-Study-master JAVA学习实例"是一个全面了解和掌握Spring框架的实践平台,通过这个项目,开发者不仅可以学习到Spring的基本概念和事务管理,还能了解到如何优化项目结构,提高代码质量,以及如何...
"spring-study-demo"项目是一个专门为了学习Spring框架而设计的示例工程,旨在帮助开发者深入理解和实践Spring的核心特性。 1. **Spring核心概念**: - **依赖注入(Dependency Injection)**:Spring通过DI允许...
这个压缩包"springcloud-study:springcloud学习"显然包含了一个名为"springcloud-study-master"的项目,这通常是一个GitHub仓库的克隆,用于教授或演示SpringCloud的相关知识。让我们深入探讨SpringCloud的核心组件...
在Spring Boot的应用结构上,"spring-boot-study"可能涵盖了如何创建一个基本的Spring Boot项目,包括创建Maven或Gradle构建文件,定义主启动类,以及配置文件的应用。此外,可能还会讲解到如何使用IDEA等开发工具...
3. **配置管理**:Spring Cloud Config提供了一种集中式的、版本化的配置管理方式,允许开发者在运行时动态更新应用配置,降低了维护成本。 4. **负载均衡**:Ribbon是客户端负载均衡器,可以配合Eureka实现服务间...
《SpringCloud深度学习指南》 在当今的微服务架构领域,SpringCloud以其强大的功能和易用性成为了...在这个过程中,不断学习、探索和优化,你会发现SpringCloud不仅是一个工具集,更是一种高效构建云原生应用的智慧。
Spring Boot 是一个基于 Java 的框架,它旨在简化创建独立、生产级别的基于 Spring 应用的初始设置和配置工作。Spring Boot 提倡“约定优于配置”的原则,使得开发者能够快速搭建和运行应用程序。在这个名为 "spring...
4. **Web**:Spring Web模块提供了创建Web应用程序的功能,包括MVC(模型-视图-控制器)架构模式,Spring MVC是其核心组件,用于构建RESTful服务。 5. **Spring Boot**:这是一个相对较新的子项目,旨在简化Spring...
1. SpringCloud Gateway:SpringCloud的新一代API网关,更强大且性能更高。 2. SpringCloud Stream:用于构建消息驱动的应用,支持多种消息中间件。 3. SpringCloud Kubernetes:与Kubernetes集成,实现云原生的...