• xml配置javaBean的IOC实现示例


    xml配置javaBean的IOC实现
    1。开发步骤介绍
    创建java项目(项目可以是Maven项目),
    加入spring相关架包,
    创建javaBean
    使用xml配置javaBean
    管理/使用JavaBean
    2.示例:helloWorld
    (1)创建maven的java项目
    (2)在dom.xml中配置依赖
    (3)创建javaBean---Teacher.java类
    (4)创建Spring配置文件spring.xml,并在spring.xml中配置Teacher类(即把Teacher类交给IOC容器管理)
    (5)创建测试类Test.java
    <1>创建JavaBean工厂对象
    <2>通过工厂获取Teacher对象
    <3>打印Teacher对象
    2.1 项目的结构

    2.2 项目各文件内容
    2.2.1 pom.xml
    加入了spring核心库和设置了jdb版本为1.8

    <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>4.0.0</modelVersion>
    <groupId>com.xx</groupId>
    <artifactId>spring1</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <dependencies>
    <!-- 加入spring核心库 -->
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.2.9.RELEASE</version>
    </dependency>
    </dependencies>


    <!-- 将编译器的版本指定为1.8 -->
    <build>
    <plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
    <source>1.8</source>
    <target>1.8</target>
    </configuration>
    </plugin>
    </plugins>
    </build>
    </project>
    2.2.2 被管理的javaBean类Teacher.java
    (这个类就是即将被配置到IOC容器中的javaBean)

    package com.test.po;

    public class Teacher {
    private String name;
    private int age;

    public Teacher() {
    System.out.println("Teacher()....");
    }
    @Override
    public String toString() {
    return "Teacher [name=" + name + ", age=" + age + "]";
    }

    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public int getAge() {
    return age;
    }
    public void setAge(int age) {
    this.age = age;
    }
    }
    2.2.3 spring配置文件-spring.xml
    (注意beans的属性), 配置javaBean com.test.po.Teacher类到IOC容器
    <?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-4.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-4.0.xsd">

    <bean id="teacher" class="com.test.po.Teacher">
    <property name="name" value="王光荣" />
    <property name="age" value="33" />
    </bean>
    </beans>
    2.2.4 测试 (管理/使用javaBean)
    com.test.po.Test.java (管理/使用 IOC中的JavaBean, 创建Bean工厂时,使用了spring的配置文件spring.xml)

    package com.test.po;

    import org.springframework.beans.factory.BeanFactory;
    import org.springframework.context.support.ClassPathXmlApplicationContext;

    public class Test {
    public static void m1() {
    //创建Bean工厂,同时本步骤就已经会创建Teacher类的对象了
    ApplicationContext applicationContext
    = new ClassPathXmlApplicationContext("config/spring.xml");
    //获取Bean工厂中的Teacher对象
    Teacher teacher = (Teacher) applicationContext.getBean("teacher");
    System.out.println(teacher);
    }
    public static void main(String[] args) {
    Test.m1();
    }
    }

    --------------------------------------------------------------------------------
    运行结果为Teacher()....Teacher [name=王光荣, age=33]
    --------------------------------------------------------------------------------
    2.3 小节
    使用java maven项目, 也可以不使用java的 maven项目。这样只不过要自己下载spring的架包
    注意spring.xml配置文件中beans标签的头,可以照着复制即可,这是xml的格式化文件
    applicationContext是IOC专门用来管理Bean的接口
    底层技术是xml解析与反射

  • 相关阅读:
    js点击显示全部内容(用于内容比较长时)
    vs中运行时如何去除虚拟目录
    selenium使用中的几个问题
    解决播客程序不能播放Flv文件的问题
    VS2005 + VSS6.0 简单应用示例
    IList转换为DataTable
    asp.net根据生日计算年龄(具体到年月天)
    vs2005菜单中没有显示源代码管理怎么办
    asp.net解决中文乱码问题
    跨域删除cookie的问题
  • 原文地址:https://www.cnblogs.com/xgzzzy16/p/9860831.html
Copyright © 2020-2023  润新知