首先:写好两个接口
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
分享到:
相关推荐
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本文将深入探讨Spring中的依赖注入实现方式,以及如何通过样例文件...
《Spring技术内幕:深入解析...通过学习本书,开发者不仅能够掌握Spring框架的基本使用方法,还能理解其实现原理,这对于提升开发效率和代码质量具有重要意义。无论是初学者还是有一定经验的开发者,都能从中受益匪浅。
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本篇主要介绍Spring中的三种注入方式,包括构造器注入、设值注入和...
通过定义带有 `set` 方法的属性,Spring 容器可以在实例化 Bean 后,根据配置文件中的 `<property>` 标签来调用相应的 `set` 方法,将依赖的对象注入到目标 Bean 中。如示例代码所示,`User` 类中的 `myHome` 属性...
在 Spring 配置文件中,我们可以通过将 InterfaceB 接口的实例对象注入 ClassA 中,以实现依赖注入。 在 Spring 配置文件中,我们需要定义两个 Bean,分别是 ClassC 和 ClassA。在 ClassC 的定义中,我们可以设置 ...
依赖注入(DI)是Spring框架中最核心的机制,通过该机制,可以实现控制反转(IoC),即将对象的创建和对象间的依赖关系转移给外部容器进行管理,从而减少了代码之间的耦合度,增强了应用的可扩展性和可测试性。...
在 Spring Boot 中,注入是一种非常重要的机制,用于将 bean 对象注入到其他 bean 对象中,以便实现松耦合和高内聚的设计目标。下面我们将对 Spring Boot 中的几种注入方法进行详细的介绍和分析。 1. @Autowired @...
总结来说,Spring框架的注入方式是实现解耦和提高代码可测试性的重要手段。构造器注入和setter注入各有优势,开发者应根据项目需求灵活选择。通过学习和实践`example4forConstructor`和`example4forSetter`这两个...
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象间的依赖关系得以解耦,提高了代码的可测试性和可维护性。Spring提供了多种注入方式,包括set注入、构造注入和自动注入...
在Spring中,同样可以使用`@Autowired`注解配合setter方法实现设值注入: ```java @Service public class UserService { private UserRepository userRepository; @Autowired public void setUserRepository...
Setter 方法注入:通过 setter 方法来注入依赖对象,例如,在 DeptService 中使用 setter 方法来注入 DeptDAO 对象。 D. 构造方法注入:通过构造方法来注入依赖对象,例如,在 DeptService 中使用构造方法来注入 ...
Spring IoC作为一种革命性的找对象方式,通过控制反转和依赖注入技术,极大提升了Java应用的开发效率和代码质量。然而,正如文中所言,“只有最适合,没有最佳的哲学”,在实际应用中,应根据具体场景选择最合适的...
属性注入是DI的一种实现方式,它允许我们向Bean实例中传入其他对象或基本类型的数据,无需在代码中手动创建或查找依赖。 2. **XML配置中的属性注入** - 在传统的Spring XML配置中,我们可以使用`<property>`标签来...
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本篇主要介绍Spring中的三种注入方式,着重讲解在"Spring三种注入...
2. 依赖注入(DI):依赖注入是控制反转的实现方式,通过配置文件或注解将对象之间的依赖关系管理。 3. 面向切面编程(AOP):面向切面编程是 Spring 框架的另一个核心概念,它可以将公共业务集中处理,实现代码的...
花了些时间做了一个实验,彻底弄懂了spring Annotation注入的方式。凡带有@Component,@Controller,@Service,@Repository 标志的等于告诉Spring这类将自动产生对象,而@Resource则等于XML配置中的ref,告诉spring此处...
《SPRING技术内幕:深入解析SPRING架构与设计原理》这本书深入探讨了Spring框架的核心机制、设计理念以及在实际开发中的应用。Spring作为Java领域最流行的轻量级框架,它的广泛应用和强大功能使得深入理解其工作原理...
在Spring Boot框架中,`DataSource`的注入是应用程序与数据库交互的基础。`DataSource`是一个接口,通常由诸如HikariCP、Druid或Tomcat JDBC等实现提供,它负责存储和管理数据库连接,使得我们的应用能够高效且安全...
Spring框架提供了一个强大的反转控制(IoC)容器来管理对象的生命周期和配置,并且通过依赖注入(DI)的方式简化了组件之间的依赖关系。 #### 二、Spring框架的主要模块 Spring框架由多个模块组成,每个模块都是为了...
在这个“Spring 入门代码实例”中,我们将深入探讨Spring的依赖注入机制,包括设值注入和构造注入两种方式,并结合JUnit进行测试。 **一、Spring IOC (控制反转) 理念** 控制反转(Inversion of Control,IoC)是...