Spring快速入门

我们理解了IOC的基本思想,我们现在来看下Spring的应用:

第一个Spring程序

在普通三层架构的基础上,将程序修改为 Spring框架程序
Spring快速入门

dao

Spring快速入门

interface

public interface UserDao {
    void getUser();
}

impl

public class UserDaoImpl implements UserDao {

    @Override
    public void getUser() {
        System.out.println("你好");
    }
}

service

Spring快速入门

interface

public interface UserService {
   void getUser();
}

impl

public class UserServiceImpl implements UserService{

    private UserDao userDao;
    // 利用set实现
    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

    @Override
    public void getUser() {
        userDao.getUser();
    }
}

test

public class Mytest {
    public static void main(String[] args) {
        UserServiceImpl userService = new UserServiceImpl();
        userService.setUserDao(new UserDaoImpl());
        userService.getUser();
    }
}

dao追加impl

Spring快速入门

public class UserDaoOneImpl implements UserDao{
    @Override
    public void getUser() {
        System.out.println("你好One");
    }
}

在父工程导入依赖

Spring快速入门

 <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.1.10.RELEASE</version>
 </dependency>

创建Spring配置文件

Spring配置文件的文件名可以随意,但Spring建议的名称为applicationContext.xml。这里我们命名为beans.xml并放在resource目录下

<?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
       http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--bean就是java对象 , 由Spring创建和管理-->
    <bean id="One" class="com.huang.dao.UserDaoOneImpl"/>

    <bean id="ServiceImpl" class="com.huang.service.UserServiceImpl">
        <!--注意: 这里的name并不是属性 , 而是set方法后面的那部分 , 首字母小写-->
        <!--引用另外一个bean , 不是用value 而是用 ref-->
        <property name="userDao" ref="One"/>
    </bean>

</beans>

springtest

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

/**
 * @author 86131
 * date 2021/10/3 08:58:06
 * @description
 */

public class FirstTest {
    public static void main(String[] args) {
        //解析beans.xml文件 , 生成管理相应的Bean对象
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        //getBean : 参数即为spring配置文件中bean的id .
        Hello hello = (Hello) context.getBean("hello");
        hello.show();

    }

}

spring配置文件一览

Spring 配置文件支持两种格式,即 XML 文件格式和 Properties 文件格式。

  • Properties 配置文件主要以 key-value 键值对的形式存在,只能赋值,不能进行其他操作,适用于简单的属性配置。
  • XML 配置文件是树形结构,相对于 Properties 文件来说更加灵活。XML配置文件结构清晰,但是内容比较繁琐,适用于大型复杂的项目。

常用

<bean />:用于定义一个实例对象。一个实例对应一个 bean元素。

id:该属性是 Bean 实例的唯一标识,程序通过 id 属性访问 Bean,Bean 与 Bean 间的依赖关系也是通过 id 属性关联的。

如果没有配置id,name就是默认标识符
如果配置id,又配置了name,那么name是别名
name可以设置多个别名,可以用逗号,分号,空格隔开
如果不配置id和name,可以根据applicationContext.getBean(.class)获取对象;

class:指定该 Bean 所属的类,注意这里只能是类,不能是接口。全限定名=包名+类名

了解

alias 设置别名 , 为bean设置别名 , 可以设置多个别名

<!--设置别名:在获取Bean的时候可以使用别名获取-->
<alias name="userT" alias="userNew"/>

团队的合作通过import来实现 .

<import resource="{path}/beans.xml"/>
上一篇:springioc循环依赖问题详解


下一篇:SpringIOC 容器注入方式