1. 程式人生 > >spring 5.0 從入門到放棄 01

spring 5.0 從入門到放棄 01

國際慣例  helloWorld奉上

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.ruge</groupId>
  <artifactId>spring</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>spring Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.2</version>
    </dependency>
   <!--這個jar檔案是所有應用都要用到的,它包含訪問配置檔案、建立和管理bean以及進行
   Inversion of Control / Dependency Injection(IoC/DI)操作相關的所有類。如果應用只需基本的IoC/DI支援,
   引入spring-core.jar及spring-beans.jar檔案就可以了。-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>5.0.0.RELEASE</version>
    </dependency>
    <!--這個jar檔案為Spring核心提供了大量擴充套件。可以找到使用Spring ApplicationContext特性時所需的全部類,
    JDNI所需的全部類,UI方面的用來與模板(Templating)引擎如Velocity、FreeMarker、JasperReports整合的類,
    以及校驗Validation方面的相關類。 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.0.0.RELEASE</version>
    </dependency>
    <!--這個jar檔案包含Spring框架基本的核心工具類,Spring其它元件要都要使用到這個包裡的類,是其它元件的基本核心-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>5.0.0.RELEASE</version>
    </dependency>
    <!-- Spring Expression Language(SpEL) -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>5.0.0.RELEASE</version>
    </dependency>

  </dependencies>
  <build>
    <finalName>spring</finalName>
  </build>
</project>

package com.ruge.test;

/**
 * 描述:
 * spring的helloworld
 *
 * @outhor 愛麗絲、如歌
 * @create 2017-11-01 20:50
 */
public class HelloWorld {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public void hello(){
        System.out.println("hello:"+name);
    }
}
package com.ruge.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * 描述:
 * main測試類
 *
 * @outhor 愛麗絲、如歌
 * @create 2017-11-01 20:52
 */
public class test {
    public static void main(String[] args) {
        HelloWorld helloWorld = new HelloWorld();
        helloWorld.setName("愛麗絲、如歌");
        //呼叫方法
        helloWorld.hello();
    }
}

D:\download\tool\jdk\jdk8_64\install\bin\java -Didea.launcher.port=7532 -Didea.launcher.bin.path=D:\download\tool\ide\idea\2016\ideaIU-2016\install\bin -Dfile.encoding=UTF-8 -classpath D:\download\tool\jdk\jdk8_64\install\jre\lib\charsets.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\deploy.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\access-bridge-64.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\cldrdata.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\dnsns.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\jaccess.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\jfxrt.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\localedata.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\nashorn.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\sunec.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\sunjce_provider.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\sunmscapi.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\sunpkcs11.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\zipfs.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\javaws.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\jce.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\jfr.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\jfxswt.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\jsse.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\management-agent.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\plugin.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\resources.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\rt.jar;D:\project_idea\spring\target\classes;D:\download\tool\versionControl\maven\localRepository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;D:\download\tool\versionControl\maven\localRepository\org\springframework\spring-beans\5.0.0.RELEASE\spring-beans-5.0.0.RELEASE.jar;D:\download\tool\versionControl\maven\localRepository\org\springframework\spring-context\5.0.0.RELEASE\spring-context-5.0.0.RELEASE.jar;D:\download\tool\versionControl\maven\localRepository\org\springframework\spring-aop\5.0.0.RELEASE\spring-aop-5.0.0.RELEASE.jar;D:\download\tool\versionControl\maven\localRepository\org\springframework\spring-core\5.0.0.RELEASE\spring-core-5.0.0.RELEASE.jar;D:\download\tool\versionControl\maven\localRepository\org\springframework\spring-jcl\5.0.0.RELEASE\spring-jcl-5.0.0.RELEASE.jar;D:\download\tool\versionControl\maven\localRepository\org\springframework\spring-expression\5.0.0.RELEASE\spring-expression-5.0.0.RELEASE.jar;D:\download\tool\ide\idea\2016\ideaIU-2016\install\lib\idea_rt.jar com.intellij.rt.execution.application.AppMain com.ruge.test.test
hello:愛麗絲、如歌

Process finished with exit code 0

IOC與DI

  設計原則中好萊塢原則描述到,“別找我們,我們找你”,百度百科上對這點描述是“不要給我們打電話,我們會給你打電話(don‘t call us, we‘ll call you)”這是著名的好萊塢原則。在好萊塢,把簡歷遞交給演藝公司後就只有回家等待。由演藝公司對整個娛樂項的完全控制,演員只能被動式的接受公司的差使,在需要的環節中,完成自己的演出。這一點完美的提現了在IOC身上,IOC所注重的是設計思想上,從一個常規的建立物件的做法,即new一個物件,轉變成向IOC容器遞交”簡歷“,被動的等待IOC容器返回資源給你。控制反轉即指的是”演藝公司控制演員“,而說到依賴,則是“演員需要公司混飯”,我們所需求的物件,需要依賴容器來獲得,這個過程即是依賴注入。本質上IOC和DI是同一思想下不同維度的表現


<?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">
    <!-- 配置需要被Spring管理的Bean(建立,建立後放在了Spring IOC容器裡面)-->
    <bean id="hello" class="com.ruge.test.HelloWorld">
        <!-- 配置該Bean需要注入的屬性(是通過屬性set方法來注入的) -->
        <property name="name" value="劉德華"></property>
    </bean>

</beans>

package com.ruge.test;

        import org.springframework.context.ApplicationContext;
        import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * 描述:
 * main測試類
 *
 * @outhor 愛麗絲、如歌
 * @create 2017-11-01 20:52
 */
public class test {
    public static void main(String[] args) {
        //獲取Spring的ApplicationContext配置檔案,注入IOC容器中
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        HelloWorld helloWorld = (HelloWorld) applicationContext.getBean("hello");
        //呼叫方法
        helloWorld.hello();
    }
}

D:\download\tool\jdk\jdk8_64\install\bin\java -Didea.launcher.port=7534 -Didea.launcher.bin.path=D:\download\tool\ide\idea\2016\ideaIU-2016\install\bin -Dfile.encoding=UTF-8 -classpath D:\download\tool\jdk\jdk8_64\install\jre\lib\charsets.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\deploy.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\access-bridge-64.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\cldrdata.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\dnsns.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\jaccess.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\jfxrt.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\localedata.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\nashorn.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\sunec.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\sunjce_provider.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\sunmscapi.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\sunpkcs11.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\ext\zipfs.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\javaws.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\jce.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\jfr.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\jfxswt.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\jsse.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\management-agent.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\plugin.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\resources.jar;D:\download\tool\jdk\jdk8_64\install\jre\lib\rt.jar;D:\project_idea\spring\target\classes;D:\download\tool\versionControl\maven\localRepository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;D:\download\tool\versionControl\maven\localRepository\org\springframework\spring-beans\5.0.0.RELEASE\spring-beans-5.0.0.RELEASE.jar;D:\download\tool\versionControl\maven\localRepository\org\springframework\spring-context\5.0.0.RELEASE\spring-context-5.0.0.RELEASE.jar;D:\download\tool\versionControl\maven\localRepository\org\springframework\spring-aop\5.0.0.RELEASE\spring-aop-5.0.0.RELEASE.jar;D:\download\tool\versionControl\maven\localRepository\org\springframework\spring-core\5.0.0.RELEASE\spring-core-5.0.0.RELEASE.jar;D:\download\tool\versionControl\maven\localRepository\org\springframework\spring-jcl\5.0.0.RELEASE\spring-jcl-5.0.0.RELEASE.jar;D:\download\tool\versionControl\maven\localRepository\org\springframework\spring-expression\5.0.0.RELEASE\spring-expression-5.0.0.RELEASE.jar;D:\download\tool\ide\idea\2016\ideaIU-2016\install\lib\idea_rt.jar com.intellij.rt.execution.application.AppMain com.ruge.test.test
十一月 01, 2017 9:30:56 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
資訊: Refreshing org[email protected]5387f9e0: startup date [Wed Nov 01 21:30:56 CST 2017]; root of context hierarchy
十一月 01, 2017 9:30:57 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
資訊: Loading XML bean definitions from class path resource [applicationContext.xml]
hello:劉德華

Process finished with exit code 0



相關推薦

spring 5.0 入門放棄 01

國際慣例  helloWorld奉上 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sch

轉-Vue.js2.0入門放棄---入門實例(一)

命令行 今天 初始化 手動 pre ref cnpm 簡單介紹 收藏 http://blog.csdn.net/u013182762/article/details/53021374 標簽: Vue.jsVue.js 2.0Vue.js入門實例Vue.js 2.0教

Spring4.0入門到精通視頻教程 - 1. Spring的特點

spring4.0從入門到精通視頻教程 java 第三方 開發 輕量級:Spring 是非侵入性的 - 基於 Spring 開發的應用中的對象可以不依賴於 Spring 的 API依賴註入(DI --- dependency injection、IOC)面向切面編程(AOP --- aspec

Spring4.0入門到精通視頻教程 - 2. 安裝SPRING TOOL SUITE

spring4.0從入門到精通視頻教程 spring tool suite 1、找到與eclipse版本配套的SPRING TOOL SUITE。http://spring.io/tools/sts/all2、Help -> Install New Software...3、Click Add.

spring boot 1.5.4 入門到實踐

springbootSpring Boot四個重要核心:自動配置:針對很多Sping應用程序常見的應用功能,Spring Boot能自動提供相關配置;起步依賴:告訴Spring Boot需要什麽功能,它就能引入需要的庫;命令行界面:這是Spring Boot的可選特性,借此你只需寫代碼就能完成完整的應用程序,

Spring boot webSocket入門放棄

在構建Spring boot專案時已經提供webSocket依賴的勾選。webSocket是TCP之上的一個非常薄的輕量級層 ,webSocket主要的應用場景離不開即時通訊與訊息推送,但只要應用程式需要在瀏覽器和伺服器之間來回傳送訊息,就可以使用webSocket來降低客戶端流量與伺服器的負載。 下面將基

Vue.js2.0入門放棄---入門例項(三)

已經有幾周沒有更新部落格了,最近自己也在學習就沒有能及時抽身來寫部落格。 今天就來簡單說一下vue-resource,這是vue的一個與伺服器端通訊的HTTP外掛,用來從伺服器端請求資料。話不多說,直接上乾貨吧。 這裡PS一下,有人反映之前的程式碼下載下來,執行會報錯而

npm的安裝及Vue.js2.0入門放棄---入門例項(一)

下載地址:http://nodejs.cn/download/ https://nodejs.org/en/download/  兩者都可以安裝node.js從node.js官網下載並安裝node,安裝過程很簡單,一路“下一步”就可以了(傻瓜式安裝)。安裝完成之後,開啟命令列

WebSocket協議:5分鐘入門到精通

eric tps mis 時間 客戶 mozilla doc sin local 一、內容概覽 WebSocket的出現,使得瀏覽器具備了實時雙向通信的能力。本文由淺入深,介紹了WebSocket如何建立連接、交換數據的細節,以及數據幀的格式。此外,還簡要介紹了針對W

Zabbix 3.0 入門到精通(zabbix使用詳解)

and eid ace inactive imm chmod 添加應用 zab tput 1.1 為什麽要監控   在需要的時刻,提前提醒我們服務器出問題了    當出問題之後,可以找到問題的根源    網站/服務器 的可用性 1.1.1 網站可用性  

Spring Data JPA入門到精通》內容簡介、前言

前言 數據庫 公司 查看 小寫 tps 其實在 實戰 感覺 內容簡介 本書以Spring Boot為技術基礎,從入門到精通,由淺入深地介紹Spring Data JPA的使用。有語法,有實踐,有原理剖析。 本書分為12章,內容包括整體認識JPA、JPA基礎查詢方法、定義查

SpringBoot2.0Spring 5.0 WebMvcConfigurerAdapter被廢棄解決辦法

ide over ted mvc Spring 5 ati color fig boot 1 直接實現WebMvcConfigurer @Configuration public class WebMvcConfg implements WebMvcConfigurer

SSM整合 Spring MVC5.0.8+Spring 5.0.8+Mybatis 3.4.6

第一步:使用Maven搭建專案,並在pom.xml中匯入SSM需要使用到的依賴包 <!--單元測試依賴--> <dependency> <groupId>junit</groupId> <

【備忘】年薪50萬2017年最新Spark2.0入門到精通教程

Spark從入門到精通(Scala程式設計、案例實戰、高階特性、Spark核心原始碼剖析、Hadoop高階) 下載地址:http://www.javaxxz.com/thread-342081-1-1.html 本課程主要講解目前大資料領域最熱門、最火爆、最有前景的技術——

【備忘】2018年薪50萬2017年最新北風網Spark2.0入門到精通教程

Spark從入門到精通(Scala程式設計、案例實戰、高階特性、Spark核心原始碼剖析、Hadoop高階)官方出售價格:2250元,地址:http://www.ibeifeng.com/goods-560.html本課程主要講解目前大資料領域最熱門、最火爆、最有前景的技術

spark2.0入門到精通(一)

。RDD介紹 。Spark基本工作原理 。Spark開發入門               。編寫WorkCount程式               。使用本地模式進行測試               。使用spark-submit提交到叢集執行(spark-subm

【備忘】年薪50萬2018年最新北風網大資料Spark2.0入門到精通視訊教程

Spark從入門到精通(Scala程式設計、案例實戰、高階特性、Spark核心原始碼剖析、Hadoop高階)官方出售價格:2250元,地址:http://www.ibeifeng.com/goods-560.html本課程主要講解目前大資料領域最熱門、最火爆、最有前景的技術—

Lumion 4.5 & 5.0 基礎入門提升教程(上篇)

作者:活力網 課程講師:Jason 課程時長:6小時3分鐘 課程類別:Lumion基礎教程 學員要求:中高配置電腦一臺,SketchUp入門水平以上 教學重點:Lumion入門,Lumion中的各種命令、特效 教學難點:將所學知識綜合使用 教學目標:通過本課程的學習,學員能夠掌握L

VMware View 5.0菜鳥到高手系列 8 -連線虛擬桌面篇

連線虛擬桌面 步驟1:安裝VMware View Client 步驟2:開啟VMware View Client,輸入View Connection Server的IP 地址,點選“連線”。 步驟3:在證書憑據驗證時,選擇繼續 注 意: 可以通過組策略設

【視訊分享】Angular 4.0入門到實戰 打造股票管理網站

為了讓你更好的理解Angular的新特性,講師精心設計一個單頁應用(SPA)-股票管理網站,將A