Spring4-自动装配Beans-按属性的数据类型自动装配Bean

1.创建Maven项目,项目名称springdemo16,如图所示

2.配置Maven,修改项目中的pom.xml文件,修改内容如下

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>1.0.0</modelVersion>
  <groupId>shequ</groupId>
  <artifactId>springdemo13</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  <properties>
  	<java.version>1.7</java.version>
  	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  	<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  </properties>
  
  <repositories>
  	<repository>
  		<id>codelds</id>
  		<url>https://code.lds.org/nexus/content/groups/main-repo</url>
  	</repository>
  </repositories>
  
  <dependencies>
  	<dependency>
  		<groupId>junit</groupId>
  		<artifactId>junit</artifactId>
  		<version>4.10</version>
  	</dependency>
  
  	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-core</artifactId>
  		<version>4.1.4.RELEASE</version>
  	</dependency>
  
  	<dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.1.4.RELEASE</version>
    </dependency>
    
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>4.1.4.RELEASE</version>
    </dependency>
    
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.34</version>
    </dependency>
       
       
  </dependencies>
  <build/>
</project>

3.在src/main/java下创建实体Bean Forum,包名(com.mycompany.shequ.bean)如图所示

4.实体Bean Forum的内容如下

package com.mycompany.shequ.bean;

public class Forum {
	private int fid;
	private String name;
	public int getFid() {
		return fid;
	}
	public void setFid(int fid) {
		this.fid = fid;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}

}

5.在src/main/java下创建实体Bean ForumPost,包名(com.mycompany.shequ.bean)如图所示

6.实体Bean ForumPost的内容如下

package com.mycompany.shequ.bean;

public class ForumPost {
	private int pid;
	private String name;
	private Forum forum;
	public int getPid() {
		return pid;
	}
	public void setPid(int pid) {
		this.pid = pid;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Forum getForum() {
		return forum;
	}
	public void setForum(Forum forum) {
		this.forum = forum;
	}

}

7.在src/main/resources下创建Bean配置文件,配置文件名称spring-bean.xml,如图所示

8.spring-bean.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.xsd">

	<!-- 按属性的数据类型自动装配Bean -->
   <bean id="forumpost"
       class="com.mycompany.shequ.bean.ForumPost" autowire="byType">
   </bean>
   
   <bean id="forum" class="com.mycompany.shequ.bean.Forum">
   		<property name="fid" value="3"></property>
   		<property name="name" value="苗木"></property>
   </bean>

</beans>

9.在src/test/java下创建测试类ForumPostTest,包名(com.mycompany.shequ.bean),如图所示

10.测试类ForumPostTest的内容如下

package com.mycompany.shequ.bean;

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

public class ForumPostTest {

	/**
	 * spring 的自动装配Beans,按属性的数据类型自动装配Bean
	 */
	@Test
	public void byTypeTest(){
    	    ApplicationContext context = new ClassPathXmlApplicationContext("/bean/spring-bean.xml");

	    ForumPost forumPost = (ForumPost) context.getBean("forumpost");

	    System.out.println(forumPost.getForum().getName());
	}
}		

11.在测试类ForumPostTest的byTypeTest方法上右键运行,输出结果如图所示

时间: 2024-08-28 11:10:53

Spring4-自动装配Beans-按属性的数据类型自动装配Bean的相关文章

Spring自动装配Beans

学习来源: http://www.yiibai.com/spring/spring-auto-wiring-beans-in-xml.html http://www.yiibai.com/spring/spring-auto-wiring-beans-with-autowired-annotation.html 自动装配(autowiring),我是这样理解的:bean1作为bean2的属性,在配置文件中设置二者的关联后,当Spring容器创建bean2对象时,会自动创建bean1的对象并赋值给

【Core Spring】二、装配beans

在Spring中,对象不负责寻找和创建它们需要的其他对象.创建两个应用对象之间关联的动作是依赖注入的核心功能,通常称为装配. 创建beans和构建它们之间的关系是Spring的责任,但是告诉Spring哪些bean需要被创建并且怎样将它们装装配到一起是开发者的责任.Spring提供了三种基本的装配机制. 显式地通过XML配置 显式地通过Java配置 隐式地发现bean并且自动装配 自动装配beans Spring从两个角度解决自动装配 Component scanning----Spring自动

struts2中的数据类型自动转换

参考:https://blog.csdn.net/qq_35326718/article/details/72453042 https://www.cnblogs.com/aigeileshei/p/5889562.html struts2控制层Action可以通过使用拦截器可以自动赋值,但多个属性的数据类型有时会出现不一样的情况,struts2可以将常用的数据类型进行自动转换.有关知识参考上述blog. 本文建立web项目,实现String转换自定义类和String转换成Date类型. 首先建

JAVA数据类型自动转换,与强制转换

一.数据类型自动转换 public class Test{ public static void main(String[] args){ int a = 1; double b = 1.5; double a_b_count = a+b; //整型与双精度型相加时,结果会自动转换为双精度型 String c = "凌"; char d = '晨'; char e = '好'; String c_d_e_content = c+d+e; //字符型与字符串型相加时,结果会自动转换为字符

关于Entity Framework自动关联查询与自动关联更新导航属性对应的实体注意事项说明

一.首先了解下Entity Framework 自动关联查询: Entity Framework 自动关联查询,有三种方法:Lazy Loading(延迟加载),Eager Loading(预先加载),Explicit Loading(显式加载),其中Lazy Loading和Explicit Loading都是延迟加载. (注:由于Entity Framework版本的不同,以及采用不同的模式(DB First,Model First,Code First)来构建的Entity,最终导致可能自

java中如何遍历实体类的属性和数据类型以及属性值

1 package com.walkerjava.test; 2 3 import java.lang.reflect.Field; 4 import java.lang.reflect.InvocationTargetException; 5 import java.lang.reflect.Method; 6 import java.util.Date; 7 8 /*** 9 * 遍历实体类的属性和数据类型以及属性值 10 * 11 * @author LiBaozhen 12 * @dat

php之数据类型自动转换

原文:php之数据类型自动转换 1:概述 ---php是一种弱类型的语言,它可以根据运行环境的变化而自动进行数据类型的转换 1.1转换成布尔类型的原则 以下值都将转换成布尔类型中的false: A.布尔类型的false; B.空字符串'' C.正数0或浮点数0.0或字符串'0'(不包括字符串'0.0') D.没有成员的数组----array() E.null 除此之外其它值都转换成true. 1.2转换成数值型的原则 A.如果字符串为合法的数字字符串,同时不包含./e/E,而且没有超过整型的存数

类的自动加载,静态属性静态方法

类的自动加载 function 完成类的自动加载    param: $clas_name 是类的名称    说明: 当程序员使用到一个未定义的类时,就会自动的触发__autoLoad这个函数, 该函数是系统提供的 静态变量是属于所有对象,可以被所有对象共享 静态变量与静态方法 静态属性是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量. l  定义静态属性 访问修饰符 static 静态属性名;    stati

java中循环遍历实体类的属性和数据类型以及属性值

package com.walkerjava.test; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Date; /*** * 遍历实体类的属性和数据类型以及属性值 * * @author LiBaozhen * @date 2013-1-4 上午10:25:02 * @co