1. 导入Spring等jar包

2. 配置文件 applicationContext.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"
    xmlns:context="http://www.springframework.org/schema/context"

    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

    <!--  <context:component-scan base-package="com.chinasofti.bean"></context:component-scan>  -->  

    <!-- 构造器方式 -->
    <bean id="dog" class="day1.Dog">
        <!-- 有参的类: constructor-arg 标签代表有参构造,index对应第几个参数,value是值 -->
        <constructor-arg index="0" value="杀魔爷"></constructor-arg>
        <constructor-arg index="1" value="888"></constructor-arg>

    </bean>

    <!-- 静态工厂方式  -->
    <bean id="product" class="beans.staticFactorys" factory-method="getProduct"></bean>

    <!-- 非公共类 -->
    <bean id="div" class="beans.Div"></bean>

    <!-- 普通类的方法 返回的对象 -->
    <bean id="factory" class="beans.Factory" ></bean>
    <bean id="product2" factory-bean="factory" factory-method="getProduct"></bean>
</beans>

3. 对应的bean  如

package day1;

public class Dog {
    private String name;
    int age;

    public Dog(){ //无参构造
        System.out.println("初始化,我是无参构造");
    }

    public Dog(String name){
        this.name=name;
        System.out.println("初始化1");
    }

    public Dog(String name,int age){
        this.name=name;
        this.age=age;

        System.out.println("初始化Dog,name:"+name);
    }

    public void shout(){ // 方法
        System.out.println("时间,不在于你拥有多少,而在于你使用多少");
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Dog [name=" + name + ", age=" + age + "]";
    }

    public void destory(){
        System.out.println("狗不在了");
    }

}

4. 获取bean

package day1;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class DogTest {
    public static void main(String[] args) {

        String path="applicationContext.xml";
        ApplicationContext ac=new ClassPathXmlApplicationContext(path);//实例化容器
        Dog dog=(Dog) ac.getBean("dog");// 向容器ac 索取id名为 dog的bean 对象
            // 容器查找bean 配置里的id 为dog 的bean 标签, 然后根据bean 标签里的class路径对应的类  来实例化对应的对象
        //dog.shout();
        System.out.println(dog.getName());
        System.out.println(dog.getAge());

    }
}

最新文章

  1. windows下安装多个tomcat服务
  2. struts标签,&lt;s:textfield&gt;嵌套&lt;s:property&gt;的问题
  3. java_queue
  4. excel数据通过构建sql语句导入到数据库中
  5. Dijkstra--POJ 2502 Subway(求出所有路径再求最短路径)
  6. request 路径随笔
  7. new 与override 区别
  8. Microsoft Jet 数据库引擎找不到对象&#39;Sheet1$_&#39;。请确定对象是否存在,并正确地写出它的名称和路径
  9. Ubuntu设置程序开机自启或者开机禁止加载
  10. [NOIp 2016]天天爱跑步
  11. 随心测试_软测基础_007&lt;软测学习路线建议&gt;
  12. 基于MPI的大规模矩阵乘法问题
  13. WCF调错方法
  14. Linux block(1k) block(4k) 换算 gb
  15. 2017-2018-1 20179202《Linux内核原理与分析》第三周作业
  16. Ant基础知识1
  17. [Android] SeekBar---可拖动进度条
  18. ubuntu直接删除文件而不是移动到回收站
  19. sqljdbc 无法连接到主机
  20. POJ 2773 Happy 2006------欧几里得 or 欧拉函数。

热门文章

  1. 018.CI4框架CodeIgniter数据库操作之:Delete删除一条数据
  2. Scala 线性化规则和 super 操作
  3. MySQL如何获取时间戳
  4. BFPRT(中位数的中位数算法)
  5. JAVA实现数组的反转--基础
  6. yolov3.cfg参数解读
  7. python --- mysql数据库的操作
  8. 干干净净的grep
  9. 开源DDD设计模式框架YMNNetCoreFrameWork第三篇-增加ASp.net core Identity身份认证,JWT身份认证
  10. 041-PHP把闭包函数当做参数传递