Spring4-自动装配Beans-通过构造函数参数的数据类型按属性自动装配Bean
2017-03-23 10:56
387 查看
1.创建Maven项目,项目名称springdemo17,如图所示
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 ForumPost() { super(); } public ForumPost(Forum forum) { super(); this.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; } }
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="constructor"> </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 constructorTest(){ ApplicationContext context = new ClassPathXmlApplicationContext("/bean/spring-bean.xml"); ForumPost forumPost = (ForumPost) context.getBean("forumpost"); System.out.println(forumPost.getForum().getName()); } }
11.在测试类ForumPostTest的byTypeTest方法上右键运行,输出结果如图所示
相关文章推荐
- Spring4-自动装配Beans-按属性的数据类型自动装配Bean
- Spring4-自动装配Beans-缺省情况下,自动配置是通过“ref”属性手动设定
- 加强eclipse的使用技巧。可变参数。基本数据类型自动装箱和拆箱。枚举。反射。数组反射的应用。ArrayList和HashSet。JavaBean
- ###Springmvc封装复杂表单数据:表单提交多个实体类的参数【对象类型参数,自动封装】name属性值不能重复。和实体类属性名一致
- Spring4-自动装配Beans-按属性名称自动装配
- .NET中那些所谓的新语法之一:自动属性、隐式类型、命名参数与自动初始化器
- python通过装饰器检查函数参数数据类型的方法
- C++构造函数的自动调用(调用一个父类的构造函数,有显性调用最好,否则就默认调用无参数的构造函数)——哲学思想:不调用怎么初始化父类的成员数据和VMT?
- Java基础加强:静态导入及可变参数和增强for循环 ,基本数据类型的自动拆箱和装箱
- yii2 Ecommerce 特殊字段的mongo数据处理。不能通过info配置自动转换类型的数据
- 简化Spring的xml文件配置-自动装配Bean属性
- Java深入(高新技术)(二):开发环境、静态导入、可变参数、增强for循环、基本数据类型的自动拆箱与装箱、享元模式
- [Java] Spring 3.0 /id.vs.name/简单属性的注入/bean中的scope属性/集合注入/自动装配/生命周期/
- Java高新技术【1】 (静态导入-可变参数-增强for循环-基本数据类型的自动拆箱与装箱)
- [Java] Spring 3.0 /id.vs.name/简单属性的注入/bean中的scope属性/集合注入/自动装配/生命周期/
- .NET中那些所谓的新语法之一:自动属性、隐式类型、命名参数与自动初始化器
- 黑马程序员-------(高新技术)静态导入、可变参数、增强for循环、基本数据类型的自动拆箱与装箱
- Spring Bean 注入 1 - 构造方法注入,属性注入,自动装配
- 通过反射,将datatable转换为List集合(反射读取实体类的属性,并赋值),通过接口来实现MySql和MsSql数据的切换(二层反射),静态构造函数,抽象类和接口的区别