logo
Spring Framework核心容器 – 朝汐の小站
Spring Framework核心容器
本文最后更新于 31 天前,如有错误请邮件至 zhiligyi222na@gmail.com

一、系统架构图

二、核心概念

三、IoC控制反转入门案例

1.创建一个Maven项目

2.导入Spring坐标

<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.18</version>
        </dependency>
</dependencies>

3.定义Spring管理的类(接口)

dao/BookDao.java数据层接口

public interface BookDao {
    public void save();
}

dao/impl/BookDaoImpl.java数据层实现类

public class BookDaoImpl implements BookDao {
    public void save() {
        System.out.println("book dao save ...");
    }
}

service/BookService.java业务层接口

public interface BookService {
    public void save();
}

sevice/impl/BookServiceImpl.java业务层实现类

public class BookServiceImpl {
    private BookDao bookDao=new BookDaoImpl();
    public void save() {
        System.out.println("book service save ...");
        bookDao.save();
    }
}

4.创建Spring配置文件applicationContext.xml,配置对应的类作为Spring管理的bean

<bean id="bookService" class="org.example.service.impl.BookServiceImpl"></bean>

5.初始化IoC容器(Sping核心容器/Spring容器),通过容器获取bean

public class Main {
    public static void main(String[] args) {
        //加载配置文件得到上下文对象,也就是容器对象
        ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
        //获取Bean对象
        BookService bookService=(BookService) ctx.getBean("bookService");
        bookService.save();
    }
}

6.这样就可以通过IoC获取实现类,而不用在代码里写死具体名称的类来实现,随时可以更换实现类,从而降低代码的耦合性

四、DI依赖注入入门案例

1.删除使用new的形式创建对象的代码

public class BookServiceImpl implements BookService {
    //删除使用new形式创建的代码
    //private BookDao bookDao=new BookDaoImpl();
    private BookDao bookDao;
    public void save() {
        System.out.println("book service save ...");
        bookDao.save();
    }
}

2.提供依赖对应的setter方法

public void setBookDao(BookDao bookDao){
        this.bookDao=bookDao;
}

3.配置service与dao之间的关系

<bean id="bookService" class="org.example.service.impl.BookServiceImpl">
                <property name="bookDao" ref="bookDao"/>
</bean>
<bean id="bookDao" class="org.example.dao.impl.BookDaoImpl"/>

4.这样对象的创建和依赖关系的管理完全交给了 Spring 容器

五、bean基础配置

六、bean的实例化

1.构造方法,bean调用实现类的无参构造方法

2.静态工厂,了解即可

3.实例工厂,了解即可

4.FactoryBean

七、bean的生命周期

八、依赖注入方式

1.setter注入

2.构造器注入

3.自动装配

4.集合注入

九、数据源对象管理

十、加载properties文件

十一、容器

十二、总结

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇