Spring基础

1.Spring简介

spring的full-stack全栈是什么意思?

就是在每一层都有对应的解决方案,如web层有对应的spring MVC,在dao层有JDBC Template

 2.Spring优势

Spring就是一个大工厂(容器),可以将所有对象创建和依赖关系维护,交给Spring管理
Spring工厂是用于生成bean

 3.Spring体系结构

 

 4.Spring开发步骤

 这是之前的开发,现在是想借助spring框架完成解耦合

spring框架的作用就是读取这个配置文件,从而获得全包名,帮助创建对象的。

 

步骤:

(1)导入Spring开发的基本包坐标。导入框架对应的jar包,这里是maven,就是导入spring对应的maven坐标

(2)编写Dao接口和实现类。要获得UserDaoImpl对象,因此要编写UserDao的接口和UserDaoImpl的实现

(3)创建Spring核心配置文件。创建xml配置文件

(4)在Spring配置文件中配置UserDaoImpl。将UserDaoImpl的全包名配置到xml配置文件中

(5)使用Spring的API获得Bean实例。通过这句话UserDao userDao = Spring客户端.getBean(id标识);把标识传进去,最终返回一个对象,这样的话,就去找Spring容器去要对象,而不是自己去new对象的。

 通过这五步可以完成解耦

后面如果替换成其他对象,直接在配置文件中修改就行了。

下面按照上面的五个步骤实现一下:

(0)创建maven工程

这个可以参考我的这一篇博客:https://www.cnblogs.com/GumpYan/p/13711056.html

(1)在pom.xml中导入坐标

 (2)编写Dao接口和实现类

 UserDao.java(接口)

package com.company.dao;

public interface UserDao {
    public void save();
}

UserDaoImpl.java(实现类)

package com.company.dao.impl;

import com.company.dao.UserDao;

public class UserDaoImpl implements UserDao {
    public void save() {
        System.out.println("save running...");
    }
}

(3)创建Spring核心配置文件。创建xml配置文件,applicationContext.xml

 如果没有Spring config,可以看这三篇文档解决:

https://blog.csdn.net/Javaytp/article/details/79637101#commentBox

https://www.cnblogs.com/iceywu/p/12366871.html

https://blog.csdn.net/wt_better/article/details/78162332

注意:一定要刷新项目工程

 (4)在Spring配置文件中配置UserDaoImpl。将UserDaoImpl的全包名配置到xml配置文件中

 

 (5)使用Spring的API获得Bean实例

package com.company.demo;

import com.company.dao.UserDao;

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

public class UserDaoDemo {
    public static void main(String[] args) {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserDao userDao = (UserDao) applicationContext.getBean("userDao");
        userDao.save();
    }
}

  打印出来结果:

原文地址:https://www.cnblogs.com/GumpYan/p/13714580.html