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框架
谢谢你请我吃糖果