您现在的位置是:首页 >学无止境 >HelloSpring网站首页学无止境

HelloSpring

基哥的奋斗历程 2024-06-17 10:15:01
简介HelloSpring

 

 

1.beans.xml配置文件

在resource资源文件夹下创建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
        https://www.springframework.org/schema/beans/spring-beans.xsd">


</beans>

HELLOSpring

1.实体类

package com.kuang.pojo;

public class Hello {
    private String str;

    public String getStr() {
        return str;
    }

    public void setStr(String str) {
        this.str = str;
    }

    @Override
    public String toString() {
        return "hello{" +
                "str='" + str + ''' +
                '}';
    }
}

2.修改Spring配置文件

<?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
        https://www.springframework.org/schema/beans/spring-beans.xsd">
<!--使用Spring来创建我们的对象,在Spring这些都称为Bean-->
<!-- id里的hello就是你 new 的一个对象的对象名

  id =变量名
  class=new 的对象;
  property 相当于给对象中的属性设置一个值!

  -->
<bean id="hello" class="com.kuang.pojo.Hello">
     <property name="str" value="HelloSpring"/>
</bean>
</beans>

3.测试文件

package mytest;

import com.kuang.pojo.Hello;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Mytest {
    public static void main(String[] args) {
        //获取容器的上下文对象,ApplicationContext是作用域最高的一个存东西的容器
    ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
    //我们的对象现在都在Spring中管理了,我们要使用的时候,直接去里面取出来就可以
        Hello hello = (Hello) context.getBean("hello");
        System.out.println(hello);
    }
}

 实现控制反转IOC,配置文件控制传入的对象,一切对象都是Spring创建,管理,装配

1.把接口的实现类都写好

 

2.然后在Spring配置文件中注册类,把对象放入容器中

<?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
        https://www.springframework.org/schema/beans/spring-beans.xsd">
    <!--使用Spring来创建我们的对象,在Spring这些都称为Bean-->
    <!-- id里的hello就是你 new 的一个对象的对象名

      id =变量名
      class=new 的对象;
      property 相当于给对象中的属性设置一个值!

      name:属性的名字
      value:属性的值
      ref:把一个对象引用给一个属性
      -->
    <bean id="mysqlImpl" class="com.kuang.dao.MySQLDaoImpl"/>
    <bean id="oracleImpl" class="com.kuang.dao.OracleDaoImpl"/>

    <bean id="userServiceImpl" class="com.kuang.service.UserServiceImpl">
        <property name="userDao" ref="oracleImpl"/>
    </bean>
</beans>

3.创建测试类

package mytest;


import com.kuang.service.UserService;
import com.kuang.service.UserServiceImpl;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MyTest {
    public static void main(String[] args) {
     //1.获取ApplicationContext对象
     ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
     //2.获取Spring容器里的对象
        UserService userServiceImpl = (UserServiceImpl) context.getBean("userServiceImpl");
        userServiceImpl.getUser();
    }
}

决定调用哪个Dao层实现类,只需要在配置文件beans.xml下去修改ref指向需要创建的Dao层实现类的对象。

原理其实就是Set方法注入

所谓一句话  IOC就是:对象由Spring创建,管理,装配

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。