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.0及Spring 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