Spring——第一个Spring程序和IOC创建对象

1.第一个Spring程序

  1. 创建一一个简单Maven项目,在pom.xml文件导入响应的依赖项

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.1.9.RELEASE</version>
        </dependency>
         <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.12</version>
        </dependency>
    </dependencies>
    
  2. 编写一个Hello实体类

     public class Hello {
         private String name;
     
         public String getName() {
             return name;
         }
         public void setName(String name) {
             this.name = name;
         }
     
         public void show(){
             System.out.println("Hello"+ name );
         }
         
         @Override
        public String toString() {
            return "Hello{" +
                    "name='" + name + '\'' +
                    '}';
        }
     }
    
  3. resources目录下编写xml文件,这里命名为:applicationContext.xml

     1  <?xml version="1.0" encoding="UTF-8"?>
     2  <beans xmlns="http://www.springframework.org/schema/beans"
     3         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4         xsi:schemaLocation="http://www.springframework.org/schema/beans
     5          http://www.springframework.org/schema/beans/spring-beans.xsd">
     6  
     7      <!--bean就是java对象 , 由Spring创建和管理-->
     8      <bean id="hello" class="com.jiang.pojo.Hello">
     9          <property name="name" value="Spring"/>
    10      </bean>
    11  
    12  </beans>
    
  4. 在test.java文件夹中编写测试类

     @Test
     public void test(){
         //解析applicationContext.xml文件 , 生成管理相应的Bean对象
         ApplicationContext context = newClassPathXmlApplicationContext("applicationContext.xml");
         //getBean : 参数即为spring配置文件中bean的id .
         Hello hello = (Hello) context.getBean("hello");
         hello.show();
     }
    

2.IOC创建对对象的方式

  1. 创建User实体类

    package com.jiang.pojo;
    
    public class User {
        private String name;
        public User() {
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public User(String name) {
            this.name = name;
        }
    
        @Override
        public String toString() {
            return "User{" +
                    "name='" + name + '\'' +
                    '}';
        }
    }
    
    
  2. 使用无参构造创建对象(默认)

  3. 假设使用有参构造创建对象。

    1. 下标赋值

      <!--第一种,下标赋值!-->
      <bean id="user" class="com.jiang.pojo.User">
          <constructor-arg index="0" value="姜嘉航1号"/>
      </bean>
      
    2. 按照类型赋值

      <!--第二种方式:通过类型创建,不建议使用!-->
      <bean id="user" class="com.jiang.pojo.User">
          <constructor-arg type="java.lang.String" value="姜嘉航2号"/>
      </bean>
      
    3. 按照参数名赋值

      <!--第三种,直接通过参数名来设置-->
      <bean id="user" class="com.jiang.pojo.User">
          <constructor-arg name="name" value="姜嘉航3号"/>
      </bean>
      
posted @ 2020-02-23 22:13  Godlesss  阅读(166)  评论(0编辑  收藏  举报