3.Spring

3. Spring

3.1 简介

Spring就是轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。

3.2 好处

1.Spring就是一个大工厂,专门负责生成Bean,可将所有对象,和依赖关系维护由Spring管理。(解耦)

2.Spring提供面向切面编程,可以方便的实现对程序进行拦截、运行监控等功能。(AOP编程)

3.只需要通过配置就可以对事务进行管理,而无需手动编程。(声明事务)

4.Spring对junit支持,可以通过注解方便的测试Spring程序。(方便测试)

5.Spring不排斥各种优秀的框架,其内部提供了对各种优秀框架的支持,比如Struts2、Hibernate、MyBatis等。(集成框架)

6.对java EE 开发中一些难用的API(JDBC、JavaMail)等都提供了封装 ,使这些API应用难度大大降低。(降低使用难度)

3.3 Spring体系结构

img

3.4 入门案例

3.4.1 创建Spring项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iZiSEtEo-1628678672556)(C:\Users\Administrator.USER-20190513TB\AppData\Roaming\Typora\typora-user-images\image-20210811143458307.png)]

3.4.2 创建Book实例
package com.wyk.pojo;

public class Book {
    private Integer id ;

    private String bookName ;

    private String author ;

    public Book() {
        System.out.println("This is Book constructor.");
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        System.out.println("This is Book setBookName().");
        this.bookName = bookName;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        System.out.println("This is Book setAuthor().");
        this.author = author;
    }

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", bookName='" + bookName + '\'' +
                ", author='" + author + '\'' +
                '}';
    }
}
3.4.3 修改配置文件spring-config.xml(注入Book实例)
<?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="book" class="com.wyk.pojo.Book">
        <property name="id" value="1" />
        <property name="bookName" value="平凡的世界" />
        <property name="author" value="路遥" />
    </bean>

</beans>
3.4.4 编写测试类
package com.wyk.test;

import com.wyk.pojo.Book;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class testMain {
    public static void main(String[] args) {
        //查询类路径 加载配置文件
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-config.xml") ;
        // 所有类的实例的创建都不需要应用程序自己创建,而是交给Spring容器来创建及管理
        Book book = applicationContext.getBean("book", Book.class) ; // 声明方法1
        Book book2 = (Book) applicationContext.getBean("book") ; // 声明方法2
        System.out.println(book);

    }
}
3.4.5 输出结果

在这里插入图片描述

3.4.6 包结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EUneeAzM-1628678672560)(C:\Users\Administrator.USER-20190513TB\AppData\Roaming\Typora\typora-user-images\image-20210811144312366.png)]

[外链图片转存中…(img-2uElgvt2-1628678672558)]

3.4.6 包结构

[外链图片转存中…(img-EUneeAzM-1628678672560)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值