`
gaosililn
  • 浏览: 73386 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

ssh学习:Spring注入方式

阅读更多

Spring的注入方式:

设值注入:

设值注入就是给该类的属性通过set方法设值。在Spring的配置文件当中,使用<property></property>标签设值。

在<property></property>中,name值对应类中的属性名,且必须一致;ref值则是对应的数据源id,且必须一致。

构造注入:

构造注入就是该该类的属性通过构造方法传参数的方式设值。在Spring配置文件当中使用<constructor-arg></constructor-arg>标签进行设值。

在<constructor-arg></constructor-arg>中,name值对应类中的属性名,且必须一致;ref值则是对应的数据源id,且必须一致。

以打折的实例举例一下:

设置注入:

打折计算的接口:

public interface IDiscounts {
	public double discount(double price);
}

 

半价实体:

public class HalfPrice implements IDiscounts {
	@Override
	public double discount(double price) {
		return price * 0.5;
	}
}

 

不打折实体:

public class FullPrice implements IDiscounts {
	@Override
	public double discount(double price) {
		return price;
	}
}

 

结算实体:

public class Accounts {
	private IDiscounts iDiscounts;//打折的接口,必须实现set方法
	public double account(double price) {
		return iDiscounts.discount(price);
	}
}

 

Spring配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" 
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	<!-- 添加每一个bean -->
	<!-- id为别号,class为相对应的类 -->
	<bean id="fullPrice" class="com.usc.geowind.lilin.bean.inflood.FullPrice" />
	<bean id="halfPrice" class="com.usc.geowind.lilin.bean.inflood.HalfPrice" />
	<bean id="account" class="com.usc.geowind.lilin.bean.inflood.Accounts">
		<!-- 设值注入 -->
		<!-- name是该类对应的属性名,必须一致 ; -->
		<!-- ref映射:值为该属性参数对应的数据源。比如上面的数据源ID:fullPrice -->
		<property name="iDiscounts" ref="fullPrice"></property>
	</bean>
</beans>

 

程序入口:

public static void main(String[] args) {
	// 读取配置文件
	Resource resource = new FileSystemResource("shop.xml");
	// 加载配置文件 ,启动IOC容器
	BeanFactory factory = new XmlBeanFactory(resource);
	// 从IOC容器中获取实例
	Accounts accounts = factory.getBean(Accounts.class);
	System.out.println(accounts.account(40.0));

}

 构造注入:

结算实体做一下修改:

public class Accounts {
	private IDiscounts iDiscounts;
	public Accounts(IDiscounts iDiscounts) {
		this.iDiscounts = iDiscounts;
	}
	public double account(double price) {
		return iDiscounts.discount(price);
	}
}

 

Spring配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" 
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	<!-- 添加每一个bean -->
	<!-- id为别号,class为相对应的类 -->
	<bean id="fullPrice" class="com.usc.geowind.lilin.bean.inflood.FullPrice" />
	<bean id="halfPrice" class="com.usc.geowind.lilin.bean.inflood.HalfPrice" />
	<bean id="account" class="com.usc.geowind.lilin.bean.inflood.Accounts">
		<!-- 构造注入 -->
		<!-- 顺序与构造方法参数顺序一致 -->
		<!-- ref映射:值为该属性参数对应的数据源。比如上面的数据源ID:fullPrice -->
		<constructor-arg  ref="halfPrice"></constructor-arg>
	</bean>
</beans>

 

 

分享到:
评论

相关推荐

    SSH整合:spring3.2+strut2.3.4+hibernate4.2所需jar包

    1. **Spring框架**:Spring是一个全面的Java企业级应用开发框架,提供依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP)等功能。在SSH整合中,Spring主要负责业务逻辑的管理...

    SSH总结之Spring

    ### SSH总结之Spring详解 #### 一、Spring框架概述 Spring框架是一个开源的轻量级企业级应用框架,主要由核心容器、数据访问/集成、Web、AOP(面向切面编程)、工具、测试、消息和REST等功能模块组成。Spring的核心...

    SSH学习之spring

    【SSH架构学习之Spring】 SSH(Struts、Spring、Hibernate)是Java开发中常见的三大框架组合,用于构建企业级Web应用程序。在这个主题中,我们主要关注Spring框架的学习。Spring作为一个全面的企业级应用开发框架,...

    SSH 配置实例: Spring 3.1 + Hibernate 4.2 + Struts 2.3

    SSH(Spring、Struts2和Hibernate)是Java开发中经典的三大框架组合,它们协同工作,构建出高效的企业级Web应用程序。本配置实例将探讨如何在Spring 3.1、Hibernate 4.2和Struts 2.3之间进行集成,以实现数据持久化...

    SSH和Spring框架简介

    2. **Spring**:Spring框架的核心是依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)。它允许开发者专注于业务逻辑,而不必关心对象如何创建和管理。Spring还提供了数据...

    ssh2框架整合,struts2和hibernate均交由spring管理,用注解的方式由spring注入

    下面我们将详细探讨这三个框架的整合过程以及注解方式的Spring注入。 1. **Struts2**:Struts2是基于MVC设计模式的Web应用框架,用于控制应用程序的流程。在SSH2整合中,Struts2处理HTTP请求,解析请求参数,并转发...

    ssh整合(spring springmvc hibernate maven spring data jpa)

    Spring作为核心容器,负责管理对象和依赖注入;SpringMVC是Spring框架的一部分,专门处理Web请求;Hibernate则是一个强大的对象关系映射(ORM)工具,用于简化数据库操作。在现代Java开发中,通常还会引入Maven进行...

    基于IDEA的SSH项目之二:配置Spring一(第四步结束时的程序包)

    在本教程中,我们将深入探讨如何在IntelliJ IDEA(简称IDEA)中配置一个基于Struts2(S),Hibernate(H)和Spring(S)的SSH整合项目。这是一个经典的Java Web开发框架组合,用于构建高效、可维护的Web应用程序。在...

    SSH框架:struts2+spring+hibernate 全部jar包

    SSH框架是Java开发中常用的三大框架集成,包括Struts2、Spring和Hibernate。这个压缩包提供了搭建SSH框架所需的所有jar包和配置文件,使得开发者能够快速构建基于这三大框架的应用。 Struts2作为MVC(Model-View-...

    Java:SSH-Spring整合struts2&hibernate;框架

    这个压缩包文件"Springssh"很可能包含了上述整合过程所需的配置文件、实体类、DAO、Action、JSP等资源,可以直接应用于开发项目中,或者作为学习SSH整合的实例。通过深入研究和理解这些文件,开发者可以更好地掌握...

    SSH2 整合之 spring 2.5.6 jar包

    整合 SSH2 和 Spring 2.5.6,意味着在Spring应用中利用SSH的安全特性,如通过SSH进行远程命令执行、文件传输或管理服务器资源。这通常涉及到以下关键知识点: 1. **Spring Framework**: Spring 提供了一个模块化的...

    基于IDEA的SSH项目之二:配置Spring一---程序包

    在构建基于IDEA的SSH(Struts、Spring、Hibernate)项目时,Spring框架的配置是整个应用程序的核心部分。本文将详细讲解如何在IntelliJ IDEA(IDEA)中配置Spring,以便于理解并掌握SSH集成开发环境下的Spring配置...

    超市管理信息系统(SSH struts+spring+hibernate)

    【学习价值】这个项目对于初学者来说,是一个很好的实践平台,能够深入理解SSH框架的协同工作方式,掌握企业级应用开发的基本流程。同时,通过实际操作,可以提升对数据库设计、业务流程建模和系统集成的理解。 ...

    spring Security整合SSH

    SSH是Java开发中常用的三大框架组合,它们各自负责不同的职责:Struts2处理MVC(模型-视图-控制器)架构,Spring提供依赖注入和事务管理,Hibernate则作为ORM(对象关系映射)工具,负责数据库操作。 首先,让我们...

    新SSH(spring、spring mvc、hibernate)框架结构的java web案例实践

    在IT行业中,SSH框架组合是Java Web开发中的经典选择,由Spring、Spring MVC和Hibernate三个主要组件构成。这个"新SSH"案例实践旨在提供一个全面的教程,帮助开发者理解和掌握这三个框架如何协同工作以构建高效、...

    ssh 整合 spring jar

    这通常意味着我们需要将Spring的核心组件引入到SSH项目中,以便利用Spring提供的服务,如依赖注入、事务管理、数据访问等。 以下是压缩包中包含的文件及其对应的知识点: 1. `org.springframework.beans-3.1.0.M2....

    在SSH框架Spring的作用

    在SSH框架中,这意味着当Struts的Action需要调用Service层的方法时,Spring会自动创建Service实例,并将其注入到Action中,而无需Action自行创建或查找Service。这种模式不仅降低了组件间的耦合,还使得单元测试变得...

    SSH笔记-整合Spring2、Struts2、Hibernate4

    1. **依赖注入**:Spring通过XML配置或注解方式实现对象间的依赖关系,降低耦合度。 2. **AOP**:Spring的AOP模块用于处理系统级服务,如日志、事务管理等,使得业务逻辑与这些公共服务分离。 3. **事务管理**:...

    SSH笔记-Spring整合Struts2

    5. **编写Action**:Action类不再需要包含业务对象的实例化代码,而是通过构造函数或setter方法接收由Spring注入的对象。这样,Action就变成了一个简单的POJO,只负责接收请求、调用业务逻辑和返回结果。 6. **测试...

    ssh(Spring+Spring mvc+hibernate)的jar包

    SSH,即Spring、Spring MVC和Hibernate的组合,是Java Web开发中的一个经典框架栈,用于构建高效、可维护的企业级应用程序。在这个压缩包文件中,包含的是这些框架所需的jar包,它们是运行和开发SSH应用的基础组件。...

Global site tag (gtag.js) - Google Analytics