Spring普通属性的注入
JavaBean代码,需要被注入的Bean:
package com.cos.entity;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class UserBean {
private String name;
private int age;
private String[] phone;
private Map<String, String> son;
private List store;
private Set school;
public Set getSchool() {
return school;
}
public void setSchool(Set school) {
this.school = school;
}
public List getStore() {
return store;
}
public void setStore(List store) {
this.store = store;
}
public Map<String, String> getSon() {
return son;
}
public void setSon(Map<String, String> son) {
this.son = son;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String[] getPhone() {
return phone;
}
public void setPhone(String[] phone) {
this.phone = phone;
}
}
Spring 配置文件 applicationContext.xml ,配置需要注入的Bean
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
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
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd">
<!-- 普通属性注入 -->
<bean id="userBean" class="com.cos.entity.UserBean">
<!-- String -->
<property name="name" value="zhangsan"/>
<!-- int -->
<property name="age" value="20"/>
<!-- 数组 -->
<property name="phone">
<list>
<value>13817337235</value>
<value>88025222</value>
</list>
</property>
<!-- Map -->
<property name="son">
<map>
<entry key="first" value="son1"/>
<entry key="secend" value="son2"/>
</map>
</property>
<!-- List -->
<property name="store">
<list>
<value>store1</value>
<value>store2</value>
</list>
</property>
<!-- Set -->
<property name="school">
<set>
<value>school1</value>
<value>school2</value>
</set>
</property>
</bean>
</beans>
其中JavaBean里面的属性名和xml文件中的property的name应保持一致。
测试类:
package com.cos.entity;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Main {
public static void main(String[] args) {
//通过spring配置文件返回Bean的工厂对象
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
//Bean工厂通过Bean的id得到JavaBean
UserBean ub = (UserBean) factory.getBean("userBean");
System.out.println(""+ub.getName());
System.out.println(""+ub.getAge());
System.out.println(""+ub.getPhone());
System.out.println(""+ub.getSon());
System.out.println(""+ub.getStore());
System.out.println(""+ub.getSchool());
}
}
分享到:
相关推荐
下面将详细讨论“Spring普通属性注入”。 1. **XML配置文件中的属性注入** 在Spring中,我们通常使用XML配置文件来声明对象及其依赖关系。对于普通属性的注入,我们可以在`<bean>`标签内使用`<property>`子标签来...
@Bean 是一个注解,用来将一个普通的对象转换为一个 Spring bean,以便可以在spring 容器中管理。@Bean 可以使用在方法上,以便将该方法的返回值转换为一个 Spring bean。 在 Spring Boot 中,以上几种注入方法都是...
- **@Component**:用于标记一个普通的Java类为Spring管理的Bean。 - **@Service**:通常用于标记业务层的组件。 - **@Repository**:用于标记数据访问层(DAO层)的组件。 - **@Controller**:用于标记Web层的组件...
在Spring框架中,实例工厂注入是一种创建对象的方式,它允许我们通过自定义的工厂方法来控制对象的实例化过程。这种方式对于那些初始化过程复杂或者需要特殊处理的对象特别有用。下面我们将详细探讨Spring中的实例...
Spring @Value 属性注入使用方法解析 Spring 框架中,@Value 注解是使用频率非常高的一种注解,它的作用是将配置文件中 key 对应的值赋值给它标注的属性。在日常使用中,我们常用的功能都比较简单,本篇文章系统的...
本文档记录了尚学堂Spring学习笔记的重要知识点,涵盖了Spring配置文件的设置、普通属性的注入、自定义属性编辑器、公共属性的注入、Spring注解等内容。 一、Spring配置文件的设置 在MyEclipse中编写Spring配置...
2. 如果你的类是Spring的一部分,可以通过`@Autowired`注解注入`ApplicationContext`,然后在需要的地方使用它。 3. 或者,你可以在初始化阶段,通过静态工厂方法或单例模式获取并保存`ApplicationContext`,以便...
当你在类的属性或方法上添加@Autowired,Spring会尝试查找匹配类型的bean并注入。 4. **ApplicationContext接口**: 这是Spring提供的接口,用于获取bean和管理bean的生命周期。你可以通过实现...
在Spring框架中,属性装配是将配置文件中的属性值注入到Bean对象中,使得对象能够根据配置信息正确地运行。Spring提供了多种方式进行属性装配,包括XML配置、基于注解的配置以及自动装配。本篇文章主要关注的是使用...
这样,Spring会自动找到类型匹配的bean并注入到属性中。例如: ```java @Service public class NormalClass { @Autowired private MyBean myBean; } ``` 3. **Spring Java Config**:在现代的Spring应用中,XML...
Spring 5.2.9支持使用注解来进行配置,比如`@Component`、`@Service`、`@Repository`和`@Controller`等,这些注解可以帮助我们将普通Java类声明为Spring的Bean。同时,`@Autowired`注解用于自动装配Bean的依赖,无需...
`Page`接口扩展了`List`接口,因此你可以像处理普通列表一样处理其中的数据。 4. **Spring Data JPA的`Pageable`支持**: Spring Data JPA提供了一种优雅的方式来处理分页查询。在查询方法上使用`Page`或`Slice`...
Spring配置文件遵循XML格式,使用bean标签定义Bean实例,并通过id属性指定Bean的唯一标识,class属性指定Bean对应的类。 在测试Spring应用时,可以使用ApplicationContext接口作为容器。它有两种实现方式:...
Spring Bean三种注入方式详解 ...Spring Bean 的依赖注入有三种方式:使用属性的 setter 方法注入、使用构造器注入和使用 Filed 注入。不同的方式适用于不同的场景,我们需要根据实际情况选择合适的依赖注入方式。
Spring框架是Java开发中广泛使用的依赖注入(Dependency Injection,简称DI)容器,它极大地提高了代码的可测试性和可维护性。在Spring中,有多种方式进行注入,主要包括以下几种: 1. **XML配置注入**: - **构造...
2. **属性注入**:Spring支持普通属性注入,即为Bean实例设置字段值。这可以通过XML配置中的`<property>`标签或Java注解如`@Value`来实现。 3. **自定义属性编辑器**:Spring允许开发者自定义属性编辑器,用于处理...
- **普通属性注入**:Spring能够自动将配置文件中的值注入到对象的属性中。 - **自定义属性编辑器**:Spring提供了内置的属性编辑器,但有时需要自定义以转换特定类型的字符串。自定义编辑器需继承`...
通过这种方式,我们可以将业务逻辑与调度逻辑分离,使得代码更加清晰,同时也能充分利用Spring的依赖注入和管理功能。在实际项目中,还可以结合其他Spring特性,如AOP、事务管理等,进一步提升代码的可维护性和灵活...
在本文中,我们将深入探讨Spring框架的核心概念,包括解耦、依赖注入(Dependency Injection,简称DI)和控制反转(Inversion of Control,简称IOC)。Spring是一个广泛使用的Java企业级应用程序开发框架,它简化了...
消费服务时,Spring容器会为我们创建服务代理,就像使用普通的Java bean一样。 4. **Spring的AOP集成**:结合Spring的AOP,我们可以为CXF的服务添加拦截器或过滤器,实现事务管理、日志记录、安全性检查等功能,...