跟着剛哥學習Spring框架--創建HelloWorld項目(一)


1、Spring框架簡介

Spring是一個開源框架,Spring是在2003年興起的一個輕量級的開源框架,由Rod johnson創建。主要對JavaBean的生命周期進行管理的輕量級框架,Spring給JavaEE帶來了春天。

2、Spring框架特點

輕量級:不是說他的文件大小很小,指的Spring是非侵入性。
  知識點:輕量級框架和重量級框架的區別
      輕量級和重量級的框架是以啟動程序所需要的資源所決定,比如EJB在啟動程序的時候需要消耗大量的資源,內存和CPU,所以是重量級。
依賴注入:IOC(DI)和面向切面編程:AOP
容器:Spring是一個容器,因為它包含並且管理應用對象的生命周期
框架:Spring實現了使用簡單的組件配置組合成一個復雜的應用。
一站式:在IOC和AOP的基礎上可以整合各種企業應用的開源框架和優秀的第三方類庫

3、Spring架構

Test:Spring支持Junit單元測試
Core Container(核心容器):里面能看到有4個核心的內容,也就是如果需要使用Spring,這4個jar包是絕對不能少的。
  ① spring-beans-4.3.6.RELEASE.jar (Beans):Bean工廠,創建對象
  ② spring-core-4.3.6.RELEASE.jar (Core):核心的基礎
  ③ spring-context-4.3.6.RELEASE.jar(Context):上下文ApplicationContext
  ④ spring-expression-4.3.6.RELEASE.jar(SpEL:Spring的EL表達式)
  知識點:還有一個jar包也是必須的,因為Spring使用了它
  ⑤ commons-logging-1.2.jar
AOP:面向切面編程
Transactions:聲明式事務
ORM、JDBC:可以整合hibernate和mybatis
Web、Servlet:可以整合Stucus2和Spring MVC

4、創建一個HelloWorld項目(博客園最純凈、最簡單版本)

下載spring的jar包:http://repo.spring.io/release/org/springframework/spring

為了更好的理解Spring的jar包依賴,我們不用maven創建。我們也不用web.xml文件來初始化加載spring容器,完全原始打造。主要目的就是為了理解一下最純凈最簡單的spring項目是什么樣子的。

①、首先創建引入jar包,上面5個jar包進入即可 

看到了嗎?5個jar就可以創建了。是創建helloworld的最小基本單元了。再少就不能運行了。

②、創建一個HelloWorld.class

 1 public class HelloWorld {
 2     private String name;
 3     public void setName(String name) {
 4         System.out.println("調用了設置屬性");
 5         this.name = name;
 6     }
 7     public HelloWorld(){
 8         System.out.println("初始化構造器");
 9     }
10     public void hello(){
11         System.out.println("Hello: " + name);
12     }
13 }

③ 創建一個Spring的配置文件applicationContext.xml

1 <bean id="helloworld" class="HelloWorld">
2     <property name="name" value="Spring"></property>
3 </bean>

④ 創建一個Main.class(主函數入口)

1 public static void main(String[] args) {
2         //1、創建Spring的IOC容器的對象
3         ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
4         //2、從IOC的容器中獲取Bean的實例
5         HelloWorld helloWorld = (HelloWorld) ctx.getBean("helloworld");
6         //3、調用hello方法
7         helloWorld.hello();
8     }

輸出結果:
  初始化構造器
  調用了設置屬性
  Hello: Spring


思考一下,如果上面main里的方法我把獲取Bean的實例和調用hello方法的都注釋掉(即把2和3的全注釋掉),那么結果應該是什么?
輸出結果:
  初始化構造器
  調用了設置屬性

 說明了在創建SpringIOC容器的時候,就已經對類進行了實例化並對屬性進行了賦值

---------------------------------------------------------------------------------

跟着剛哥學習Spring框架系列:

跟着剛哥學習Spring框架--創建HelloWorld項目(一)

跟着剛哥學習Spring框架--Spring容器(二)

跟着剛哥學習Spring框架--通過XML方式配置Bean(三)

跟着剛哥學習Spring框架--通過注解方式配置Bean(四)

跟着剛哥學習Spring框架--AOP(五)

跟着剛哥學習Spring框架--JDBC(六)

跟着剛哥學習Spring框架--事務配置(七)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM