`
msn877763580
  • 浏览: 81255 次
  • 性别: 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注释 注入方式源码示例,Annotation

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

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

    如果需要给该bean提供一些初始化参数,则需要通过依赖注入方式,所谓的 依赖注入就是通过spring将bean所需要的一些参数传递到bean实例对象的过程(将依赖关系注入到对象中) ,spring的依赖注入有3种方式: ...

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

    NULL 博文链接:https://364232252.iteye.com/blog/2369767

    Spring.html

    控制反转:把创建对象的权利交给Spring 创建对象 1.无参构造 2.静态工厂 3.实例工厂 管理对象 对象关系DI 构造器注入 set注入 生命周期 scope:prototype/singleton init-method destroy-...

    Spring面试题

    spring以动态灵活的方式来管理对象 , 注入的两种方式,设置注入和构造注入。 设置注入的优点:直观,自然 构造注入的优点:可以在构造器中决定依赖关系的顺序。 什么是AOP? 面向切面编程(AOP)完善spring的...

    Java代码实现依赖注入

    模仿Spring实现一种基于xml配置文件的依赖注入机制。文件中将实现3中注入,一是单值注入,包括int,float,double,char等,也...二是Java容器注入,包括List,Set,Map三种容器的注入,最后一种是java bean对象注入。

    第一个Spring程序(DI的实现).docx

    首先我们理解一点在传统方式中我们使用new的方式来创建一个对象,这会造成对象与被实例化的对象之间的耦合性增加以致不利于维护代码,这是很难受的。在spring框架中对象实例改由spring框架创建,spring容器负责控制...

    spring项目开发学习笔记

    Spring以一种非侵入式的方式来管理你的代码,Spring提倡”最少侵入”,这也就意味着你可以适当的时候安装或卸载Spring 。 Spring可以处理JavaEE编程的所有不爽的 重量级,EJB,enterprice java bean,分布式javabean

    springcore-demo

    dependencies依赖创建包,编写代码创建application-context.xml将类对象在XML文件中描述Spring一些名词解释IoC : 控制反转AOP : 面向切面编程DI : 依赖注入。Bean : Java对象ORM : 对象关系映射OXM : 对象XML映射...

    Spring框架:深入解析、心得分享与实战应用

    在Spring框架中,开发者可以通过配置文件或注解的方式,定义和管理应用程序中的对象及其依赖关系。这使得对象之间的耦合度降低,提高了代码的可维护性和可扩展性。同时,Spring还提供了强大的事务管理、数据访问、...

    spring-aop:易百教程网-Spring AOP教程源代码(http

    SpringAOP 易百教程网-Spring AOP教程源代码( ) Spring框架的关键组件之一是面向方面... 依赖注入可帮助您将应用程序对象相互分离,并且AOP可帮助您将交叉问题伴随影响的对象分离。AOP就像Perl ,.NET,Java等编程语

    Spring.NET学习笔记

    Spring.NET学习笔记:资源有源代码程序及文档说明,基础篇、应用篇、扩展集成、企业架构体系实战等;基础篇包括:控制反转,环境搭建,实现简易IOC框架,对象的创建,容器中对象作用域,依赖注入,依赖对象的注入,...

    Spring.net框架

    我们的Factory就是利用这种方式根据配置文件动态加载程序集,动态创建对象并设置属性的。有了这个Factory,MainApp中的内容就很简单了: using System; namespace IocInCSharp { public class MainApp { public ...

    详解Spring的核心机制依赖注入

    如A组件调用B组件的方法,可称A组件依赖于B组件,依赖注入让Spring的Bean以配置文件组织在一起,而不是以硬编码的方式耦合在一起 一、理解依赖注入 依赖注入(Dependency Injection) = 控制反转(Inversion ofControl,...

    springioc和spring aop

    控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找...

    Spring基础与快速入门

    4 依赖注入:建立对象与对象之间依赖关系的实现,包括接口注入、构造注入、set注入,在Spring中只支持后两种 5 AOP:面向方面编程,我们可以把日志、安全、事务管理等服务(或功能)理解成一个“方面”,那么以前...

    spring配置全书.doc

    Spring Framework总是不断的改变着Java企业开发的方向,它用一种松耦合的方式来配置和组装应用程序对象和业务对象,比以往的Java企业开发来的更加简洁。一旦你开发了基于Spring的应用程序,在Spring上下文配置的那些...

    spring源码详解

    是pointcut和advice的装配器,是将advice注入主程序中预定义位置的代码 三、AOP实现方式 依据织入方式的不同,分为 1、编译期织入 2、类加载器织入 3、动态代理织入 AspectJ:1,2 Spring AOP:3

    Spring基础进阶讲义.docx

    Spring 根据代码的功能特点,使用 Ioc 降低业务对象之间耦合度。IoC 使得主业务在相互调用过程中,不用再自己维护关系了,即不用再自己创建要使用的对象了。而是由 Spring 容器统一管理,自动“注入”,注入即赋值。 ...

    spring+jpa

    第三,也是最具意义的,Spring 将 EntityManager 的创建与销毁、事务管理等代码抽取出来,并由其统一管理,开发者不需要关心这些,如前面的代码所示,业务方法中只剩下操作领域对象的代码,事务管理和 ...

Global site tag (gtag.js) - Google Analytics