Spring简介以及简单使用
由于最近需要在组内进行一次关于Spring的分享,因此从本周连续几周,开始从源码的粒度深入分析下Spring的原理。虽然网上有很多类似的文章,但是还是需要自己梳理一遍才能更加有助于理解。那么既然是再写一遍,那就试图写的更加清楚明白些。
 
 
  
 
 Spring框架中的每个模块都可以单独存在,或联合存在。各个组件的功能简介如下:
在本系列的博客中,我将主要介绍Spring核心框架中的Ioc和Aop原理。这几篇博客中我将以最新的版的Spring进行实验以及源码的分析研究,并辅助以一些自行的代码设计对Spring的Ioc以及Aop原理展开分析。
我们使用maven构建一个基础的Spring应用
1、填写pom.xml:
<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
            <version>4.10</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.13.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.8.13</version>
        </dependency>
        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib</artifactId>
            <version>3.2.7</version>
        </dependency>
</dependencies>
 
 2、编写一个接口IBookDAO,提供一个方法addBook
public interface IBookDAO {
    String addBook(String bookName);
}
 
 3、编写一个实现类BookDAO并实现抽象方法addBook
public class BookDAO implements IBookDAO {
    @Override
    public String addBook(String bookName) {
        return "添加图书" + bookName + "成功";
    }
}
 
 4、编写meta文件告知依赖注入的bean信息
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="bookdao" class="com.bryantchang.springtest.dao.BookDAO"></bean>
</beans>
 
 5、编写BookService正式注入依赖
public class BookService {
    IBookDAO bookDAO;
    public BookService() {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("IOCBean1.xml");//告知meta文件的路径,并获取Context对象
        bookDAO = (IBookDAO)ctx.getBean("bookdao");//通过ID注入具体的bean
    }
    public void storeBook(String bookName) {
        System.out.println("New book comming...");
        String result = bookDAO.addBook(bookName);
        System.out.println(result);
    }
}
 
 6、最后,我们在测试类中对Bean的注入流程进行测试
public class DemoTest {
    @Test
    public void testStoreBook() {
        BookService service = new BookService();
        service.storeBook("《Java编程思想》");
    }
}
 
 至此我已经介绍了Spring框架的基本概念以及基本使用,下一篇博客开始将重点介绍Spring的Ioc原理,并实现一个简易的Ioc框架
谢谢你请我吃糖果