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

学习spring的一点代码:对象注入的方式

阅读更多

 首先:写好两个接口

 

 

public interface InsertPhotoDao {
	public void insert();
}
public interface UserDao {
	public void addUser();
}

 

然后:写好接口的实现类

public class InsertPhotoDaoImpl implements InsertPhotoDao{

	public void insert() {
		System.out.println("调用了inset方法");
	}

}

public class UserDaoImpl implements UserDao {
	
	//必须要为要注入的属性设置set、get方法
	private InsertPhotoDao insertPhoto ;
	public void addUser() {
		//insertPhoto = new InsertPhotoDaoImpl();
		insertPhoto.insert();
		System.out.println("调用了addUser方法");
	}
	public InsertPhotoDao getInsertPhoto() {
		return insertPhoto;
	}
	public void setInsertPhoto(InsertPhotoDao insertPhoto) {
		this.insertPhoto = insertPhoto;
	}
	
}

 下面定义配置文件:

  第一种:

<?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 id="userDao" class="cn.sisy.dao.impl.UserDaoImpl">
          		 <!--  使用内部bean进行注入-->
          		<property name="insertPhoto">
          			<bean class="cn.sisy.dao.impl.InsertPhotoDaoImpl"/>
          		</property>
          </bean>   		                  
</beans>

 

或--第二种

<?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 id="insertPhotoDao" class="cn.sisy.dao.impl.InsertPhotoDaoImpl"></bean>
          <bean id="userDao" class="cn.sisy.dao.impl.UserDaoImpl">
          		
          		<property name="insertPhoto" ref="insertPhotoDao"/>
          </bean>
          
          
</beans>

最好编写测试文件:  

public class TestUserDao {
	private static UserDao userDao;
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
		try {
			ApplicationContext cxt = new ClassPathXmlApplicationContext("beans.xml");
			userDao = (UserDao) cxt.getBean("userDao");
		} catch (RuntimeException e) {
			e.printStackTrace();
		}
	}
	@Test public void addUser() {
		userDao.addUser();
	}
}

 

程序运行结果:



 

  • 大小: 40.6 KB
0
1
分享到:
评论

相关推荐

    spring学习:依赖注入的几种方式讨论

    在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本文将深入探讨Spring中的依赖注入实现方式,以及如何通过样例文件...

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

    《Spring技术内幕:深入解析...通过学习本书,开发者不仅能够掌握Spring框架的基本使用方法,还能理解其实现原理,这对于提升开发效率和代码质量具有重要意义。无论是初学者还是有一定经验的开发者,都能从中受益匪浅。

    Spring三种注入方式(三)

    在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本篇主要介绍Spring中的三种注入方式,包括构造器注入、设值注入和...

    Spring的注入方式详解

    通过定义带有 `set` 方法的属性,Spring 容器可以在实例化 Bean 后,根据配置文件中的 `&lt;property&gt;` 标签来调用相应的 `set` 方法,将依赖的对象注入到目标 Bean 中。如示例代码所示,`User` 类中的 `myHome` 属性...

    Spring 三种依赖注入方式.doc

    在 Spring 配置文件中,我们可以通过将 InterfaceB 接口的实例对象注入 ClassA 中,以实现依赖注入。 在 Spring 配置文件中,我们需要定义两个 Bean,分别是 ClassC 和 ClassA。在 ClassC 的定义中,我们可以设置 ...

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

    依赖注入(DI)是Spring框架中最核心的机制,通过该机制,可以实现控制反转(IoC),即将对象的创建和对象间的依赖关系转移给外部容器进行管理,从而减少了代码之间的耦合度,增强了应用的可扩展性和可测试性。...

    关于spring boot中几种注入方法的一些个人看法

    在 Spring Boot 中,注入是一种非常重要的机制,用于将 bean 对象注入到其他 bean 对象中,以便实现松耦合和高内聚的设计目标。下面我们将对 Spring Boot 中的几种注入方法进行详细的介绍和分析。 1. @Autowired @...

    Spring注入的方式

    总结来说,Spring框架的注入方式是实现解耦和提高代码可测试性的重要手段。构造器注入和setter注入各有优势,开发者应根据项目需求灵活选择。通过学习和实践`example4forConstructor`和`example4forSetter`这两个...

    spring的注入方式

    在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象间的依赖关系得以解耦,提高了代码的可测试性和可维护性。Spring提供了多种注入方式,包括set注入、构造注入和自动注入...

    Spring三种注入方式(一)

    在Spring中,同样可以使用`@Autowired`注解配合setter方法实现设值注入: ```java @Service public class UserService { private UserRepository userRepository; @Autowired public void setUserRepository...

    Spring选择题(含答案).doc

    Setter 方法注入:通过 setter 方法来注入依赖对象,例如,在 DeptService 中使用 setter 方法来注入 DeptDAO 对象。 D. 构造方法注入:通过构造方法来注入依赖对象,例如,在 DeptService 中使用构造方法来注入 ...

    Spring IOC:找对象的一次革命(1)

    Spring IoC作为一种革命性的找对象方式,通过控制反转和依赖注入技术,极大提升了Java应用的开发效率和代码质量。然而,正如文中所言,“只有最适合,没有最佳的哲学”,在实际应用中,应根据具体场景选择最合适的...

    day38 11-Spring的Bean的属性的注入:对象属性

    属性注入是DI的一种实现方式,它允许我们向Bean实例中传入其他对象或基本类型的数据,无需在代码中手动创建或查找依赖。 2. **XML配置中的属性注入** - 在传统的Spring XML配置中,我们可以使用`&lt;property&gt;`标签来...

    Spring三种注入方式(二)

    在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本篇主要介绍Spring中的三种注入方式,着重讲解在"Spring三种注入...

    spring 控制反转和依赖注入.docx

    2. 依赖注入(DI):依赖注入是控制反转的实现方式,通过配置文件或注解将对象之间的依赖关系管理。 3. 面向切面编程(AOP):面向切面编程是 Spring 框架的另一个核心概念,它可以将公共业务集中处理,实现代码的...

    Spring注释 注入方式源码示例,Annotation

    花了些时间做了一个实验,彻底弄懂了spring Annotation注入的方式。凡带有@Component,@Controller,@Service,@Repository 标志的等于告诉Spring这类将自动产生对象,而@Resource则等于XML配置中的ref,告诉spring此处...

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

    《SPRING技术内幕:深入解析SPRING架构与设计原理》这本书深入探讨了Spring框架的核心机制、设计理念以及在实际开发中的应用。Spring作为Java领域最流行的轻量级框架,它的广泛应用和强大功能使得深入理解其工作原理...

    SpringBoot框架Datasource注入

    在Spring Boot框架中,`DataSource`的注入是应用程序与数据库交互的基础。`DataSource`是一个接口,通常由诸如HikariCP、Druid或Tomcat JDBC等实现提供,它负责存储和管理数据库连接,使得我们的应用能够高效且安全...

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

    Spring框架提供了一个强大的反转控制(IoC)容器来管理对象的生命周期和配置,并且通过依赖注入(DI)的方式简化了组件之间的依赖关系。 #### 二、Spring框架的主要模块 Spring框架由多个模块组成,每个模块都是为了...

    Spring 入门代码实例

    在这个“Spring 入门代码实例”中,我们将深入探讨Spring的依赖注入机制,包括设值注入和构造注入两种方式,并结合JUnit进行测试。 **一、Spring IOC (控制反转) 理念** 控制反转(Inversion of Control,IoC)是...

Global site tag (gtag.js) - Google Analytics