Java Spring開發(fā)環(huán)境搭建及簡單入門示例教程
本文實例講述了Java Spring開發(fā)環(huán)境搭建及簡單入門示例。分享給大家供大家參考,具體如下:
前言
雖然之前用過Spring,但是今天試著去搭建依然遇到了困難,而且上網找教程,很多寫的是在web里使用Spring MVC的示例,官方文檔里的getting start一開始就講原理去了(可能打開的方法不對)。沒辦法,好不容易實驗成功了,記下來免得自己以后麻煩。
添加依賴包
進入spring官網,切換到projects下點擊 spring framework.官網上寫的是以maven依賴的形式寫的,所以可以新建一個maven項目,然后將下面的依賴加入到pom.xml里
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.0.RELEASE</version> </dependency> </dependencies>
或者,也可以點擊這個頁面右上角的fork me on github,在github里下載依賴包,然后加入到項目的build path中去。
注意, spring-context只是包含了spring最核心的功能,如依賴注入,切面等。
創(chuàng)建spring配置文件
新建一個名為bean.xml的配置文件,放到代碼目錄里,文件的內容如下:
<?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" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:component-scan base-package="com.lcl"></context:component-scan> </beans>
這個配置文件有幾個地方需要說明一下:
1、命名空間
<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" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
這個是xml的語法,配置當前xml文件中的標簽格式,這里配置了context和p兩個命名空間。例如,配了context空間,就可以使用</context:XXX>這樣的標簽。
2、自動掃描組件
<context:component-scan base-package="com.lcl"></context:component-scan>
這個配置可以讓spring框架自動掃描代碼中用@component注解了的類,自動創(chuàng)建這些類的對象。
最后注意一下bean.xml要放在代碼目錄下,其目的是為了將bean.xml添加到classpath中。
編寫代碼
首先,寫一個Person類作為bean類。所謂bean類,簡單來說就是所有成員變量都有getter和setter方法,并且有無參構造方法的類。然后用了@Component(“person”)
注解將Person類標注為一個組件,這樣,就可以使用@Resource將Person的一個實例注入給其他對象的成員里,或者使用Application類的getBean(Class)
方法得到一個實例。
package com.lcl; import org.springframework.stereotype.Service; @Component("person") public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void info(){ System.out.println("一起來吃麻辣燙!"); System.out.println("name:"+getName()+" age:"+getAge()); } }
然后是A類,A類有person成員變量引用了Person的實例,我們是用spring的依賴注入來管理成員變量person的創(chuàng)建,為了達到這個目的,只需要將person變量用@Resource注解標注即可。
package com.lcl; import javax.annotation.Resource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; /** * @author luchunlong * * 2015年8月27日 上午10:20:41 */ @Component public class A { @Resource private Person person; public void info(){ person.setName("abc"); person.setAge(123); person.info(); } public static void main(String[] args){ ApplicationContext ctx=new ClassPathXmlApplicationContext("bean.xml"); A a=ctx.getBean(A.class); a.info(); } }
總結
創(chuàng)建一個spring項目只要三步:
① 加入依賴
② 編寫bean類
③ 編寫bean.xml
其中編寫bean類時用到了@Component、@Resource這兩個注解
更多關于java相關內容感興趣的讀者可查看本站專題:《Spring框架入門與進階教程》、《Java數據結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
相關文章
解決IDEA報錯Failed?to?start?bean‘documentationPluginsBootstra
這篇文章主要介紹了解決IDEA報錯Failed?to?start?bean‘documentationPluginsBootstrapper‘問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07Can''t use Subversion command line client:svn 報錯處理
這篇文章主要介紹了Can't use Subversion command line client:svn 報錯處理的相關資料,需要的朋友可以參考下2016-09-09Spring Boot項目@RestController使用重定向redirect方式
這篇文章主要介紹了Spring Boot項目@RestController使用重定向redirect方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09淺談spring的重試機制無效@Retryable@EnableRetry
這篇文章主要介紹了淺談spring的重試機制無效@Retryable@EnableRetry,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09