重生之我在地球Online当程序员27

Spring
一、Spring初体验
1.1 Spring简介

认识Spring:

控制反转: 把创建对象的操作 交给了容器

image-20230202144231764

image-20230202144253027

Spring提供一站式解决方法,对开发的各层都有提供支持。

image-20230222141943468

Spring 体系结构:

Spring 由 20 多个模块组成,它们可以分为数据访问/集成(Data Access/Integration)、 Web、面向切面编程(AOP, Aspects)、提供JVM的代理 (Instrumentation)、消息发送(Messaging)、 核心容器(Core Container)和测试(Test)。

image-20230202141831299

Spring特性:

  • 非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API。

    class HelloServlet extends HttpServlet{   // 处理请求的类:侵入式设计; servlet侵入
    }
    class HelloHandler {    // 处理请求的类: 非侵入式设计
    }

  • 容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期。

  • 组件化:Spring实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 中可以使用XML和Java注解组合这些对象。

  • 一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上Spring 自身也提供了表述层的SpringMVC和持久层的JDBCTemplate)。

IOC 容器:

Inversion of control  控制反转容器
之前:我们用对象,自己new
现在:我们用对象,去ioc容器中获取,对象怎么创建的不用管,只要去用就行了。
IOC 作用: 帮助我们创建对象、管理对象的生命周期。
          User user = new user()   创建对象
DI dependency injection 依赖注入          
class UserService {
     private UserDao userDao
     public void setUserDao(UserDao userDao){
          this.userDao = userDao;
     }
     public void save(){
         userdao.saveUser();
     }
}
UserSevice us = new UserService();  // IOC: 创建对象
us.setUserDao(userDao);             // IOC:  管理对象的依赖关系,DI,依赖注入
us.save();  // 报错

IOC: 创建对象、处理对象的依赖关系。

1.2 入门案例
  • 导入jar包

        <dependencies>
            <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>5.2.12.RELEASE</version>
            </dependency>
        </dependencies>
  • 编写核心配置文件

    • 配置文件路径:src/main/resources

    • 示例代码

      <?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  用来配置需要创建的对象
                  id 对象的名称,从容器中获取对象可以通过id
                  class 对象的全路径
                  scope 对象的范围
                      singlton 默认;单例的对象;创建容器的时候自动创建
                      prototype 多例; 每次从容器中获取对象都创建全新的对象
                  lazy-init="true" 单例的对象默认在创建容器时候创建;
                                   lazy-init设置为true表示第一次使用时候才创建
          -->
          <b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值