`
come_for_dream
  • 浏览: 120763 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

软件开发架构平台技术之Spring依赖注入

 
阅读更多

Spring依赖注入

 

        假如你没有一个非常给力的团队,我只能说与其让别人来找你,不如我去找别人或者组建

   自己的团队,Just Go!!!                                        ---------程序员的自我激励

                                                                                                                                                                                                                                                                                                         

 

    这几天项目忙的差不多了,静静的坐下开始静静的磨刀,接受下一轮更大的挑战,虽然Struts2和hibernate在目前的开发阶段已经够用了,但是为了更好的利用技术,实现更高效快速的开发,我就坐下静静的开始学Sping----一个神秘好玩的东西。

    Spring是Rod Johnson这个伟大的人发明的一个框架是开源社区鼎鼎有名的大神级人物。

      Spring是一个轻量级框架, Java EE的春天,当前主流框架。
    目标: 使现有技术更加易用,推进编码最佳实践
    内容: 依赖注入容器,AOP实现(声明式事务), DAO/ORM支持,Web集成
    Spring框架的核心技术就是依赖注入和控制反转,从横面和纵面来进行解耦。

    今天我开始写自己的第一个Spring Demo,这里使用到了依赖注入,不过在丧心病狂贴代码之前我们要搞清楚为什么要使用是依赖注入?

       我们知道面向对象的方法是的我们的系统实现变得容易,但是当我们的系统变得复杂面向对象的方法使我们变得很无力,因为我们要使用大量的对象,系统变得臃肿不好维护。

    我们就要采用组建化的方法进行系统的开发。

    而依赖注入的目的就是强制将组建的构建和使用分开。

    现在不多说了,上代码:

   首先是User类:

   

package com.zdx.model;

public class User {

	private String userName;
	private String passWord;

	public User() {
	
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getPassWord() {
		return passWord;
	}

	public void setPassWord(String passWord) {
		this.passWord = passWord;
	}

}

 

   然后是UserDAO类:

 

package com.zdx.dao;

import com.zdx.model.User;

public interface UserDAO {

	public void save(User user);

	
}

 

    其次是UserDAOImpl类:

  

package com.zdx.dao;

import com.zdx.model.User;

public class UserDAOImpl implements UserDAO {

	@Override
	public void save(User user) {
		System.out.println("11111111111111111111111111");
	}

}

    然后是UserService类:

   

package com.zdx.service;

import com.zdx.dao.UserDAO;
import com.zdx.dao.UserDAOImpl;
import com.zdx.model.User;

public class UserService {
	private UserDAO userDAO;

	public void addUser(User user) {
		this.userDAO.save(user);
	}

	public UserDAO getUserDAO() {
		return userDAO;
	}

	public void setUserDAO(UserDAO userDAO) {
		this.userDAO = userDAO;
	}

}

 

     然后比较关键的就是beans.xml,Spring容器通过此配置文件创建并管理对象
     这里要注明的是DI有两种方式,一种是设值注入,一种是构造注入。
     设置注入可以用内部注入和外部注入。

<?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.5.xsd">

	<bean name="user" class="com.zdx.model.User"></bean>
	<bean name="userDao" class="com.zdx.dao.UserDAOImpl"></bean>

	<bean name="userService" class="com.zdx.service.UserService">
		<!-- name要和类属性的命名一致 -->
		<property name="userDAO" ref="userDao"></property>
		<!-- 下面这种使用匿名对象的方式同样可以达到相同的效果
		<property name="userDAO">
		     <bean class="com.zdx.dao.UserDAOImpl">
		     </bean> 
		</property>
			 -->
	</bean>

</beans>

 

 然后就是Test类了

package com.zdx.test;

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

import com.zdx.model.User;
import com.zdx.service.UserService;


public class TestSpring {

	@Test
	public void testSpring() throws Exception {
		ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
		UserService service=(UserService) ctx.getBean("userService");
		User user=(User) ctx.getBean("user");
		service.addUser(user);
	}
}

 

运行后就会出现输出:

 11111111111111111111111111

 

 

 

 

 

 

 

 

 

 

 

 

 

  

分享到:
评论

相关推荐

    spring.net依赖注入Demo

    Spring.NET是一个针对.NET平台的开源框架,它引入了依赖注入(Dependency Injection,简称DI)和控制反转(Inversion of Control,简称IOC)的设计模式,使得软件开发更加灵活、可维护和可测试。在.NET环境中,...

    spring技术内幕第2版深入解析spring架构与设计原理

    在深入解析Spring技术内幕第2版中,会详细探讨Spring框架的核心架构与设计原理,Spring作为一个轻量级的Java平台,提供了全面的编程和配置模型,是企业级Java应用程序开发中广泛使用的技术之一。 Spring的核心特性...

    软件开发架构平台.rar

    "软件开发架构平台.rar"这个压缩包文件,显然是一份集成了Spring、SpringBoot和Mybatis等关键框架的学习资源,非常适合对软件开发架构感兴趣的大学生进行深入学习。 首先,让我们来详细探讨Spring框架。Spring是...

    依赖注入那些事儿

    - **Spring.NET**:Spring.NET是.NET平台上的Spring框架,它提供了一整套企业级开发所需的工具和框架,包括依赖注入支持。 - **Unity**:Unity是一个由Microsoft开发的轻量级IoC Container,支持多种依赖注入模式,...

    Spring技术内幕:深入解析Spring架构与设计原理(第2版) .pdf

    - **依赖注入**:依赖注入是Spring框架的核心功能之一,通过构造函数注入、setter方法注入或字段注入等方式,实现了组件之间的解耦。 - **面向切面编程**:Spring支持在运行时动态地添加行为到程序中,如日志记录、...

    spring3.0依赖注入详解

    Spring框架自2.0版本起,不断优化其依赖注入机制,引入了一系列注解以简化Java应用程序的开发过程。特别是Spring 3.0版本,对依赖注入(DI)进行了深度拓展,引入了基于Annotation的依赖注入实现,极大地提高了代码...

    spring架构详解 spring架构详解

    Spring 框架是Java开发领域中广泛应用的开源框架,其设计理念和设计模式对于理解和创建高效、可维护的软件系统至关重要。Spring的核心架构由Core、Context和Beans三个主要组件构成,它们共同构建了Spring的基石,...

    SPRING技术内幕:深入解析SPRING架构与设计原理.pdf 下载

    依赖注入是一种软件设计模式,它的核心思想是将一个类的依赖项通过构造器、setter方法或其他方式注入到该类中,而不是由该类自己创建这些依赖项。Spring框架通过BeanFactory或ApplicationContext接口提供了依赖注入...

    使用MyEclipse查看Spring的依赖视图

    Spring框架作为Java领域中最流行的轻量级框架之一,通过其强大的依赖注入(Dependency Injection, DI)特性极大地简化了这种依赖关系的管理。本文将详细介绍如何使用MyEclipse这一集成开发环境(IDE)来查看Spring...

    SPRING技术内幕:深入解析SPRING架构与设计原理.zip

    2. **依赖注入(Dependency Injection,DI)**:Spring的核心特性之一,通过容器管理对象的生命周期和对象之间的依赖关系,允许开发者在运行时动态地将依赖注入到对象中,提高了代码的可测试性和可维护性。...

    SPRING技术内幕:深入解析SPRING架构与设计原理

    《SPRING技术内幕:深入解析SPRING架构与设计原理》这本书是Java开发领域的经典之作,由资深Java专家撰写,旨在帮助读者从宏观和微观两个层面全面理解Spring框架的架构设计和实现原理。以下是对该书内容的详细解读。...

    spring4d 一款delphi应用开发框架

    Spring4D 旨在简化 Delphi 开发过程,通过模块化设计,将应用程序的基础架构、依赖注入、数据访问、测试支持等多个方面进行了统一和标准化。它不仅适用于桌面应用,还可以用于开发移动和Web应用程序,支持多种 ...

    通用开发平台(spring mvc、spring、bootstrap、hibernate)

    在当今的软件开发领域,构建高效、可扩展的Web应用是每个开发者关注的重点。本文将深入探讨一个基于Java技术栈的通用开发平台,该平台的核心技术包括Spring MVC、Spring、Bootstrap以及Hibernate。这四大技术...

    spring 技术应用-open软件开发平台

    Spring 技术应用在Open软件开发平台中扮演着核心角色,构建了一个强大的、灵活的基础架构,使得开发人员能够高效地实现各种功能。Spring框架是一个开源的Java平台,它旨在简化企业级应用程序的开发,通过模块化的...

    基于SSHI架构的开发平台技术方案

    - **Spring Framework**:作为核心框架之一,Spring提供了强大的依赖注入和面向切面编程功能,简化了企业级应用程序的开发。Spring Security则增强了系统的安全控制能力。 - **Struts2**:用于构建MVC架构的应用...

    Spring技术内幕:深入解析Spring架构与设计原理

    标题“Spring技术内幕:深入解析Spring架构与设计原理”暗示了本书主要关注的两个方面:Spring框架的技术深度和设计原理。Spring是一个非常流行的开源Java框架,它支持基于Java的大型、企业级应用程序的开发。它广泛...

    基于java技术的软件开发架构总结.pdf

    本文档是关于基于Java技术的软件开发架构的总结,将详细介绍Java技术在软件开发架构中的应用与实践。 Java技术作为目前最主流的编程语言之一,在软件开发领域拥有广泛的应用。Java拥有强大的跨平台特性、丰富的类库...

    软件体系架构PPT( Spring SpringMVC Mybatis 框架基础)

    首先,Spring框架作为Java世界中的全能选手,它不仅提供了依赖注入(DI)和面向切面编程(AOP)等核心特性,还涵盖了诸如数据访问、Web应用、任务调度等多个领域的支持。Spring的DI使得组件之间的耦合度降低,增强了代码...

    spring核心架构

    Spring框架是Java开发中广泛应用的一个开源框架,其核心架构设计主要围绕着控制反转(Inversion of Control, IoC)和依赖注入(Dependency Injection, DI)的概念。这些概念是Spring能够提供松耦合、高可测试性和...

    依赖注入介绍.docx

    1. **Spring框架**:Spring是Java领域中最常用的依赖注入框架之一,提供了强大的依赖注入功能,支持XML配置文件和注解两种方式。Spring框架中的`@Autowired`注解是最常见的依赖注入方式。 ```java @Component ...

Global site tag (gtag.js) - Google Analytics