学习Spring的第一天

学习spring第一天

什么是spring

  • Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,有Rod Johnson在其著作Exper One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。

  • Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

  • Spring的核心是控制反转(IOC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架。

  • 名称说明
    spring 春天 可以理解为程序员的春天到来了(之前的配置太复杂)
    |–springmvc
    |–springboot
    |–springclould
    |–spring data

  • spring的核心
    spring就是一个容器
    IOC /DI
    |-- IOC全称为:Inverse of Control
    |–DI 依赖注入:全称为Dependency Injection
    |-- AOP:AOP为Aspect Oriented Programming的缩写 面向切面编程

  • spring的核心
    l Spring在JavaWeb三层结果中,每一层都提供了不同的解决技术。
    l Web层:SpringMVC
    l Service层:Spring ioc
    l Dao层:Spring jdbc Template

  • spring框架图
    在这里插入图片描述

1、 以前的方法

1、使用IDEA创建spring的项目
在这里插入图片描述
2、创建UserService

public interface UserService {
    public void add();
}

3、创建UserserviceImpl

public class UserServiceImpl implements UserService {
    @Override
    public void add() {
        System.out.println ("打印一下…………");
    }
}

4、测试访问UserService的方法(以前开发的方式)

@Test
    public void test(){
        /**
         *  以前的做法
         */
        UserService userService =new UserServiceImpl ();
        userService.add ();
        }

5、输出结果
输出结果

2、采用spring方式

1、userService和UserviceImpl不变
2、创建application.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
        http://www.springframework.org/schema/beans/spring-beans.xsd">
        
</beans>

3、在头文件的beans声明

	<!--声明userService-->
	<!--id:spring ioc容器创建对象之后可以使用id从容器里面使用getBean(String id )对取这个对象
		class :要创建的对象的完全限定名(路径) -->
    <bean id="userService" class="com.zhangyong.UserServiceImpl"></bean>

4、测试使用spring方式访问方法

	@Test
    public void test(){
        /**
         * 使用spring配置文件的写法
         * 使用配置文件的application去自动new userService
         * ApplicationContext 用于加载配置文件
         * context.getBean 获取配置文件的声明
         */
        ApplicationContext context = new ClassPathXmlApplicationContext ("application.xml");
        UserService userService = (UserService) context.getBean ("userService");
        userService.add ();
    }

5、结果
![输出结果](https://img-blog.csdnimg.cn/20191113115032266.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3p5MTM3NjUyODc4NjE=,size_16,color_FFFFFF,t_70

3、DI 解释
  • Dependency Injection 依赖注入,在spring框架负责常见Bean对象时,动态的将依赖对象注入到bean组件中

示例:
1、在UserService中添加实体类并加入get和set方法

public class UserServiceImpl implements UserService {

    private String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    
    @Override
    public void add() {
        System.out.println ("打印一下…………"+name);
    }
}

2、输出结果:
结果
3、在配置文件中注入name

	<bean id="userService" class="com.zhangyong.UserServiceImpl">
	<!--注入属性,调用set的方法-->
        <property name="name" value="zhangsan"></property>
    </bean>

4、输出结果
在这里插入图片描述总结:可以看出name的值通过注入的方式打印出来了

发布了37 篇原创文章 · 获赞 7 · 访问量 1189

猜你喜欢

转载自blog.csdn.net/zy13765287861/article/details/103045859