Spring 学习之路 内容仅供参考,便于自己理解用 (不对之处还请指教)

Spring 学习日志

 

1.1简介:给开发带来简便

使现在的技术变得更加易用,整合现有的技术框架

SSH stuact2+Spring+Hibernate

SSM SpringMVC+Spring+mybatis

 

1.2优点:

1.Spring 开源免费框架

2.轻量级,非入侵的框架(非入侵:不会改变自身代码)

3.控制反转(IOC)和面向切面(AOP

4.支持事物的处理对框架的整合的支持

 

 

总结:Spring 是一个轻量级控制反转(IOC)和面向切面(AOP)的编程框架

 

1.3组成

7大模块

1.4拓展

 

Sspring BOOT(构建一切)——>Spring cloud(协调一切)——>Spring cloud()connect(连接一切)

 

Spring boot 快速协调开发脚本,可快速开发单个微服务(约定大于配置)

Spring cloud 基于Spring boot

 

弊端:发展太久,违背理念,配置繁琐

 

IOC理论推导(反转控制)

 

旧的编程方式,旧的思想《用户需求变了代码不易变动

 

原来:1.创建对象   2.创建实现类  3.创建业务逻辑  4.创建业务实现类

 

在原来的业务中,用户可能会影响我i们原来代码,我们要根据用户的需求区修改源代码。如果要修改,代价很大

 

IOC反转:将代码的主动权变成被动权,想调用那个就调用哪个

 

三、本质

四、

 

 

 

 

 

 

编写第一个Hello

 

  1. 导入spring 依赖

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

User(interface)接口

package com.cuc.dao;

public interface UserDao {
    void getUser();
}

 

Userimpl实现类

package com.cuc.dao;

public class UserDaoImpl implements UserDao {
    public void getUser(){
        System.out.println("获取用户信息!");
    }
}

 

 

 

 

 

 

另外的接口实现类

ublic class UserDaoMysql implements UserDao {
    public void getUser() {
        System.out.println("mysql获取用户数据!");
    }
}

 

 

Uservice 接口

package com.cuc.service;

public interface Uservice{
    void  getUser();
}

 

Uservice 接口实现类

 

 

 

public class Userviceimpl implements Uservice {

private UserDao userDao;

    public UserDao getUserDao() {
        return userDao;
    }

    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }
    public void getUser() {
        userDao.getUser();

    }
}

 

 

重点:application 配置

 

<?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-3.1.xsd
">
    <!--使用spring 来创建对象 在spring 这些都称为Bean(一个个bean)-->
    <bean id="UserDaoImpl" class="com.cuc.dao.UserDaoImpl"/>
    <bean id="UserDaoMysql" class="com.cuc.dao.UserDaoMysql"/>
    <bean id="Userviceimpl" class="com.cuc.service.Userviceimpl">
        <property name="userDao" ref="UserDaoMysql"></property>
    </bean>
</beans>

 

 

 

配置文件xml文件(在reserouce(bean.xml)

<beans >

 

   <bean id=”容器名称” class=包名(相当于new User

   <property=str (JavaBean的属性名)”  value=Spring (属性值(注意复制类型))

</beans >

 

 

Test

 

 

 


public class MyTest {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");//获取容器名称
        Userviceimpl userviceimpl = (Userviceimpl) context.getBean("Userviceimpl");
        userviceimpl.getUser();

    }
}

 

 

类型User) 变量名 =new 类型(User);

Hello hello=new Hello();

Id =变量名   class=new 对象

Property 相当于给对象中属性设置一值

自我理解:

Javabena的对象 通过set注入方式,注入到Spring 容器中

通过aplication .xml文件(配置如下)

<beans

<beasns id=user(容器的名称) class=com.cuc.dao.user/>

<perproty name=str” 属性名 value=|spring (赋值给str)”                Ref=com.cuc.userviceimpl(引向javabean:相当于一个山茶开关 可以控制走向)

 

 

 

posted @ 2021-12-06 23:40  wwegooa163dcom  阅读(28)  评论(0)    收藏  举报