spring中管理bean的方式,以及初始化参数的2种方式

注:constructor-arg:通过构造函数注入。 
       property:通过setter对应的方法注入。

1、定义一个Class

public class ExceptionMonitor {

  private String LOG_FILE_PATH;// 日志文件路径
  private String PROJECT_NAME;// 项目名称

  public String getLOG_FILE_PATH() {
    return LOG_FILE_PATH;
  }

  public void setLOG_FILE_PATH(String lOG_FILE_PATH) {
    LOG_FILE_PATH = lOG_FILE_PATH;
  }

  public String getPROJECT_NAME() {
    return PROJECT_NAME;
  }

  public void setPROJECT_NAME(String pROJECT_NAME) {
    PROJECT_NAME = pROJECT_NAME;
  }

}

2、在applicationContext.xml中定义一个bean

<bean class="com.search.Jobs.ExceptionMonitor">
  <property name="LOG_FILE_PATH" value="/opt/apache-tomcat-search-bridge/logs/catalina.out" />
  <property name="PROJECT_NAME" value="search_bridge" />
</bean>

3、定义一个类

package com.search;

import java.util.List;
import java.util.Map;

public class Person {
  private int age;
  private String name;
  private List<String> interestList;
  private Map<String, Integer> friendMap;
  private boolean isMarried;

  public Person(int age, String name, List<String> interestList, Map<String, Integer> friendMap, boolean isMarried) {
    this.age = age;
    this.name = name;
    this.interestList = interestList;
    this.friendMap = friendMap;
  this.isMarried = isMarried;
  }

  public Person() {}

}

<bean id="student" class="com.search.Person">
  <constructor-arg name="age" value="26" />
  <constructor-arg name="name" value="student" />
  <constructor-arg name="interestList">
  <list>
    <value>run</value>
    <value>travel</value>
    <value>photography</value>
  </list>
  </constructor-arg>
  <constructor-arg name="friendMap">
    <map>
      <entry key="tom" value="24" />
      <entry key="wilson" value="25" />
    </map>
  </constructor-arg>
  <constructor-arg name="isMarried" value="false" />
</bean>

程序加载次类时熟悉的值就会被初始化/注入

原文地址:https://www.cnblogs.com/zhanh247/p/11287429.html