Spring中注入基本类型

 

HelloWorld.java

package com.xy.Hello;

import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

/**
 * 该方法Spring容器通过setter方法注入
 * @author xy
 *
 */
public class HelloWorld
{
 public HelloWorld()
 {
  super();
 }

 private String name;
 private Set<String> sets;
 private List<String> lst;
 private Map<String, String> map;
 private Properties pros;

 public void DI()
 {
  System.out.println("-----name------");
  System.out.println("Hello " + name);

  System.out.println("-----sets------");
  for (String s : sets)
  {
   System.out.println(s);
  }

  System.out.println("-----lst------");
  for (String s : lst)
  {
   System.out.println(s);
  }

  System.out.println("-----map------");
  for (String key : map.keySet())
  {
   System.out.println(key + "..." + map.get(key));
  }

  System.out.println("-----pro------");
  for (Object key : pros.keySet())
  {
   System.out.println(key + "..." + pros.getProperty((String) key));
  }
 }

 /***************************** Getter和Setter **************************************/
 
 public String getName()
 {
  return name;
 }

 public void setName(String name)
 {
  this.name = name;
 }

 public Set<String> getSets()
 {
  return sets;
 }

 public void setSets(Set<String> sets)
 {
  this.sets = sets;
 }

 public List<String> getLst()
 {
  return lst;
 }

 public void setLst(List<String> lst)
 {
  this.lst = lst;
 }

 public Map<String, String> getMap()
 {
  return map;
 }

 public void setMap(Map<String, String> map)
 {
  this.map = map;
 }

 public Properties getPros()
 {
  return pros;
 }

 public void setPros(Properties pros)
 {
  this.pros = pros;
 }

}

 

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="xyhello" class="com.xy.Hello.HelloWorld">
  <property name="name">
   <value>xy</value>
  </property>
  <property name="sets">
   <set>
    <value>set1</value>
    <value>set2</value>
    <value>set3</value>
   </set>
  </property>
  <property name="lst">
   <list>
    <value>lst1</value>
    <value>lst2</value>
    <value>lst3</value>
   </list>
  </property>
  <property name="map">
   <map>
    <entry key="mk1" value="mv1"></entry>
    <entry key="mk2" value="mv2"></entry>
    <entry key="mk3" value="mv3"></entry>
   </map>
  </property>
  <property name="pros">
   <props>
    <prop key="pk1">pv1</prop>
    <prop key="pk2">pv2</prop>
    <prop key="pk3">pv3</prop>
   </props>
  </property>
 </bean>

</beans>

 

TestJunit.java

public class TestJUnit
{
 @Test
 public void test()
 {
  // 启动Spring容器
  ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

  // 容器中获取类的实例
  HelloWorld hello = (HelloWorld) context.getBean("xyhello");

  // 调用方法
  hello.DI();
 }
}

 

 

时间: 2024-12-04 04:05:43

Spring中注入基本类型的相关文章

Spring中注入List,Set,Map,Properties

下面的例子展示了如何注入 List – <list/> Set – <set/> Map – <map/> Properties – <props/> Spring beans 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set;    public cla

Spring怎样向enum类型中注入值

问题描述 Spring怎样向enum类型中注入值 public enum Task { GOODS1(1600, 0.025), GOODS2(400, 0.11); private double a; private double b; private Task(double a, double b) { this.a = a; this.b = b; } public double getA() { return a; } public void setA(double a) {this.a

spring-Spring配置中如何给Map注入List类型的值

问题描述 Spring配置中如何给Map注入List类型的值 如题:有如下一个类,该如何在bean中为其注入值? package com.spring.di; import java.util.List; import java.util.Map; public class Company { public Map<Department, List<Employee>> map; public Map<Department, List<Employee>>

Spring中属性注入详解_java

本文演示了int.String.数组.list.set.map.Date等属性的注入. 其中Date类型的注入则是借助了Spring提供的属性编辑器来实现的,首先是用到的五个实体类 package com.jadyer.model; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Set; /** * 常见属性的注入 * @see 包括int,String,Array,lis

spring中bean配置和bean注入

1 bean与spring容器的关系 Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载.实例化Bean,并建立Bean和Bean的依赖关系,最后将这些准备就绪的Bean放到Bean缓存池中,以供外层的应用程序进行调用. 1 bean配置 bean配置有三种方法: 基于xml配置Bean 使用注解定义Bean 基于java类提供Bean定义信息 1.1 基于xml配置Bean  对于基于XML的配置,

Spring中管理Bean依赖注入之后和Bean销毁之前的行为

    对于Singleton作用域的Bean,Spring容器将会跟踪它们的生命周期,容器知道何时实例化结束.何时销毁.Spring可以管理Bean在实例化结束之后和Bean销毁之前的行为. Bean依赖关系注入之后的行为:     Spring提供了两种方式在Bean全部属性设置成功后执行特定的行为: 在Spring配置文件中使用init-method属性:这个属性指定某个方法在Bean全部依赖关系设置结束后自动执行.这个方法写在Bean里面.使用这种方法不需要将代码与Spring耦合在一起

spring中如何获取注入bean里方法上的注解?

问题描述 spring中如何获取注入bean里方法上的注解? 有这样一个需求,在spring中,想用反射获取一个注入bean中方法的注解 一般情况下这样的操作就行了: Method method = bean.getClass().getMethod(...); Annotation[] annotations = method.getAnnotations(); 这样就能获取注解了. 但在spring中,这种方法是获取不到annotation的,原因是这里的bean其实是一个代理类.那么问题来

详析Spring中依赖注入的三种方式_java

前言 平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中.依赖注入的另一种说法是"控制反转",通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制反转是指new实例工作不由我们程序员来做而是交给spring容器来做. 在Sprin

spring-使用Spring在Service中注入了Dao的对象,在Service中怎么获取Dao的对象

问题描述 使用Spring在Service中注入了Dao的对象,在Service中怎么获取Dao的对象 使用Spring在Service中注入了Dao的对象,然后在Service中需要使用Dao对象的话,可以用ApplicationContext的getBean方法,我这边看的一个程序没有用ApplicationContext,而是在Service中对Dao对象进行了声明,然后定义了Dao对象的set和get方法,这样也可以吗,还是说这个程序我没有看明白,希望有明白的可以给解释一下,另希望有大神