`

spring介绍(set和构造器注入)

 
阅读更多

1.实体类

User.java

package com.test.model;

public class User {
	private String username;
	private String password;

	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;
	}
}

 

2.数据访问对象(dao-data access object)

UserDAO.java

package com.test.dao;

import com.test.model.User;

public interface UserDAO {
	public void save(User user);
}

 

3.实现dao层类

UserDAOImpl.java

package com.test.dao.impl;

import com.test.dao.UserDAO;
import com.test.model.User;

public class UserDAOImpl implements UserDAO {
	public void save(User user) {
		System.out.println("user saved!");
	}
}

 

4.服务类

UserService.java

package com.test.service;

import com.test.dao.UserDAO;
import com.test.model.User;

public class UserService {
	private UserDAO userDAO;

	// 构造器注入用到
	public UserService(UserDAO userDAO) {
		super();
		this.userDAO = userDAO;
	}
	
	//set注入用到
//	public UserDAO getUserDAO() {
//		return userDAO;
//	}
//
//	public void setUserDAO(UserDAO userDAO) {
//		this.userDAO = userDAO;
//	}

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

}

 

5.配置文件

beans.xml

<?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="userDAOImpl" class="com.test.dao.impl.UserDAOImpl"></bean>
	<bean id="userService" class="com.test.service.UserService">
		<!-- set注入 -->
<!--		<property name="userDAO">-->
<!--			<ref bean="userDAOImpl" />-->
<!--		</property>-->
		<!-- 构造器注入(UserService中要有个带UserDAO参数的构造方法) -->
		<constructor-arg>
			<ref bean="userDAOImpl"/>
		</constructor-arg>
	</bean>
	
</beans>

 

6.jUnit测试类

UserServiceTest.java

package com.test.service;

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

import com.test.model.User;

public class UserServiceTest {

	@Test
	public void testAdd() throws Exception {
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
		UserService service = (UserService) applicationContext.getBean("userService");
		User u = new User();
		u.setUsername("zhangsan");
		u.setPassword("123");
		service.add(u);
	}

}

 

分享到:
评论

相关推荐

    SpringSet方法注入

    我们学习了spring框架spring框架里面有3个优势第一个是轻量级的IOC也叫控制反转后来改名为DI也叫依赖注入,依赖注入里面有3中注入方法分别是set注入,构造器注入,注解注入,我传的是set注入的视频

    Java开发学习(六)----DI依赖注入之setter及构造器注入解析.doc

    本文将详细介绍 Java 中的依赖注入(Dependency Injection,简称 DI),特别是 setter 注入和构造器注入两种方式的使用和实现。 一、DI 依赖注入 依赖注入是指在容器中建立 Bean 与 Bean 之间的依赖关系的过程。...

    spring set

    在Spring框架中,依赖注入可以通过构造器注入、setter注入和接口注入三种方式进行。本例主要关注setter注入。首先,我们需要在Spring配置文件(如`applicationContext.xml`)中声明bean及其依赖。然后,Spring会...

    Spring Ioc(依赖注入)入门例子--属性注入

    在Spring中,有两种主要的属性注入方式:setter方法注入和构造器注入。 1. Setter方法注入:这是最常用的方式,通过在类中定义带有`set`前缀的方法,Spring容器会调用这些方法来设置依赖。例如: ```java public ...

    day38 12-Spring的Bean的属性的注入:名称空间p

    在Spring框架中,Bean的属性注入是...在实际开发中,结合`c`名称空间(构造器注入)和`aop`等其他名称空间,我们可以构建出高效、灵活的Spring应用。对于熟悉和掌握Spring框架,理解并熟练运用这些特性是非常重要的。

    Spring系列之依赖注入的三种方式.docx

    构造器注入确保了对象在创建时就已经处于完全配置的状态,有利于保持对象的完整性和一致性。 ```java public class Car { private int maxSpeed; private String brand; private double price; // 带参数的...

    spring属性注入的几种方式

    构造器注入是指通过构造方法来注入依赖对象。在Spring配置文件中,需要使用标签来指定构造器参数,同样通过name或ref属性来注入属性值。需要注意的是,构造器参数的顺序要与构造函数的参数顺序一致。 3. 接口注入...

    java Spring DI依赖注入.rar

    在Spring框架中,依赖注入有两种主要实现方式:构造器注入和setter注入。 1. 构造器注入:通过在类的构造器中传递依赖对象来初始化实例。这种方式强制所有依赖在对象创建时就已知,有利于确保对象的完整性和一致性...

    Springioc注入Demo

    1. **构造器注入**:通过构造函数传递依赖对象,Spring容器会根据构造函数的参数类型创建并注入相应的对象。这种方式确保对象在创建时就具备所有依赖,增强了对象的完整性和一致性。 2. **setter注入**:通过setter...

    spring通过构造函数注入实现方法分析

    1. 在使用构造函数注入时,需要注意构造函数的参数类型和顺序必须与 beans.xml 文件中的 `&lt;constructor-arg&gt;` 元素保持一致。 2. 在 beans.xml 文件中,需要使用 `&lt;constructor-arg&gt;` 元素来指定构造函数的参数值,...

    spring依赖注入的几种方式

    Spring 依赖注入的几种方式 依赖注入(Dependency Injection,...Spring 依赖注入可以通过 Set 注入、构造器注入和注解注入三种方式来实现,它可以将对象之间的耦合关系降到最低,从而提高系统的灵活性和可维护性。

    spring的详细介绍

    - 构造器注入:通过配置`&lt;constructor-arg/&gt;`元素来注入。 - 接口注入:Spring当前版本不支持此方式。 6. 注入的数据类型包括: - JavaBean类型:通过`&lt;ref/&gt;`元素注入。 - 基本数据类型、包装类型和字符串:...

    Spring学习笔记(5)----依赖注入的简单实现

    1. **构造器注入**:通过类的构造函数传入依赖的对象实例。例如,一个类`Service`依赖`Repository`,我们可以在`Service`的构造函数中接收`Repository`的实例: ```java public class Service { private ...

    SpringDI.rar

    在Spring框架中,DI可以通过三种主要方式实现:接口注入、构造器注入和setter注入。 1. **接口注入**:这是一种非侵入性的注入方式,它不涉及具体的实现类。Spring容器可以通过代理对象实现接口注入,开发者定义...

    一步步实现Spring框架(二)XML注入

    假设`ExampleClass`有接受字符串参数的构造器: ```xml ``` 5. **Map注入**:当需要注入Map时,可以使用`&lt;map&gt;`元素: ```xml ``` 6. **List与Set注入**:对于List或Set,可以使用`...

    知识共享-Spring注入属性值案例(雷惊风).

    Spring框架提供了多种方式来实现这种注入,包括构造器注入、setter方法注入、字段注入等。本篇文章将主要介绍如何通过`PropertyPathFactoryBean`来注入属性值。 #### 三、PropertyPathFactoryBean的使用 `...

    Spring.pdf

    属性注入需要在目标类中提供对应的set方法,而构造器注入则需要在bean定义中正确配置constructor-arg标签。 Spring支持自动注入,即Spring容器在创建对象时,可以自动完成依赖关系的注入。自动注入有以下几种方式:...

    Java反射、泛型和注解实战之Spring核心注入IOC的实现

    可以使用反射来获取类的构造函数或字段,然后通过`Class.newInstance()`或`Field.set()`进行操作。 4. 配置管理:设计一个配置管理系统,它可以是简单的Java集合,也可以是一个基于XML或注解的配置,用于存储bean的...

    Spring、SpringMVC入门及整合JDBC、Mybatis

    为了简化配置,Spring还提供了p命名空间和c命名空间的配置方式,分别对应set方法注入和构造方法注入。通过引入相应的命名空间,可以直接在XML配置文件中以属性的方式配置属性值和构造器参数。 通过上述知识点,可以...

Global site tag (gtag.js) - Google Analytics