Ⅰ java程序可以成功連接Ftp伺服器,但無法上傳文件,怎麼回事,報錯如下,(已設置連接超時時間200s)
我感覺有倆問題,1、連接地址和帳號不是一回事,你最好不要用域名做連接地址,可以用IP地址;2、你是在不行通過空間服務商進入線上後台,如果還不行就聯系空間商,可能是他們的問題.果是VPS的話好像要開通ftp某些許可權才可以,你只是開通了帳號,能連接,並沒有給ftp上傳下載的許可權,這個我在空間商裡面看過教程的,在這沒網路不讓發連接,你可以在網路搜一下試試,希望能幫助你。
Ⅱ spring3支持shiro註解么 為什麼我的註解加上就拋異常
• @Controller
• @Service
• @Autowired
• @RequestMapping
• @RequestParam
• @ModelAttribute
• @Cacheable
• @CacheFlush
• @Resource
• @PostConstruct
• @PreDestroy
• @Repository
• @Component (不推薦使用)
• @Scope
• @SessionAttributes
• @InitBinder
• @Required
• @Qualifier
@Controller
• 例如
@Controller
public class SoftCreateController extends SimpleBaseController {}
• 或者
@Controller("softCreateController")
• 說明
@Controller 負責注冊一個bean 到spring 上下文中,bean 的ID 默認為類名稱開頭字母小寫
@Service
• 例如
@Service
public class SoftCreateServiceImpl implements ISoftCreateService {}
• 或者
@Service("softCreateServiceImpl")
• 說明
@Service 負責注冊一個bean 到spring 上下文中,bean 的ID 默認為類名稱開頭字母小寫
@Autowired
• 例如
@Autowired
private ISoftPMService softPMService;
• 或者
@Autowired(required=false)
private ISoftPMService softPMService = new SoftPMServiceImpl();
• 說明
@Autowired 根據bean 類型從spring 上線文中進行查找,注冊類型必須唯一,否則報異常。與@Resource 的區別在於,@Resource 允許通過bean 名稱或bean 類型兩種方式進行查找@Autowired(required=false) 表示,如果spring 上下文中沒有找到該類型的bean 時, 才會使用new SoftPMServiceImpl();
@Autowired 標注作用於 Map 類型時,如果 Map 的 key 為 String 類型,則 Spring 會將容器中所有類型符合 Map 的 value 對應的類型的 Bean 增加進來,用 Bean 的 id 或 name 作為 Map 的 key。
@Autowired 還有一個作用就是,如果將其標注在 BeanFactory 類型、ApplicationContext 類型、ResourceLoader 類型、ApplicationEventPublisher 類型、MessageSource 類型上,那麼 Spring 會自動注入這些實現類的實例,不需要額外的操作。
@RequestMapping
• 類
@Controller
@RequestMapping("/bbtForum.do")
public class BbtForumController {
@RequestMapping(params = "method=listBoardTopic")
public String listBoardTopic(int topicId,User user) {}
}
• 方法
@RequestMapping("/softpg/downSoftPg.do")
@RequestMapping(value="/softpg/ajaxLoadSoftId.do",method = POST)
@RequestMapping(value = "/osu/proct/detail.do", params = , method =POST)
• 說明
@RequestMapping 可以聲明到類或方法上
• 參數綁定說明
如果我們使用以下的 URL 請求:
topicId URL 參數將綁定到 topicId 入參上,而 userId 和 userName URL 參數將綁定到 user 對象的 userId 和 userName 屬性中。和 URL 請求中不允許沒有 topicId 參數不同,雖然 User 的 userId 屬性的類型是基本數據類型,但如果 URL 中不存在 userId 參數,Spring 也不會報錯,此時 user.userId 值為 0 。如果 User 對象擁有一個 dept.deptId 的級聯屬性,那麼它將和 dept.deptId URL 參數綁定。
@RequestParam
• 參數綁定說明
@RequestParam("id")
listBoardTopic(@RequestParam("id")int topicId,User user) 中的 topicId 綁定到 id 這個 URL 參數, 那麼可以通過對入參使用 @RequestParam 註解來達到目的
@RequestParam(required=false):參數不是必須的,默認為true
@RequestParam(value="id",required=false)
請求處理方法入參的可選類型
• Java 基本數據類型和 String
默認情況下將按名稱匹配的方式綁定到 URL 參數上,可以通過 @RequestParam 註解改變默認的綁定規則
• request/response/session
既可以是 Servlet API 的也可以是 Portlet API 對應的對象,Spring 會將它們綁定到Servlet 和 Portlet 容器的相應對象上
• org.springframework.web.context.request.WebRequest
內部包含了 request 對象
• java.util.Locale
綁定到 request 對應的 Locale 對象上
• java.io.InputStream/java.io.Reader
可以藉此訪問 request 的內容
• java.io.OutputStream / java.io.Writer
可以藉此操作 response 的內容
• 任何標注了 @RequestParam 註解的入參
被標注 @RequestParam 註解的入參將綁定到特定的 request 參數上。
• java.util.Map / org.springframework.ui.ModelMap
它綁定 Spring MVC 框架中每個請求所創建的潛在的模型對象,它們可以被 Web 視圖對象訪問(如 JSP )
• 命令/ 表單對象(註:一般稱綁定使用 HTTP GET 發送的 URL 參數的對象為命令對象,而稱綁定使用HTTP POST 發送的 URL 參數的對象為表單對象)
它們的屬性將以名稱匹配的規則綁定到 URL 參數上,同時完成類型的轉換。
而類型轉換的規則可以通過 @InitBinder 註解或通過 HandlerAdapter 的配置進行調 整
• org.springframework.validation.Errors / org.springframework.validation.BindingResult
為屬性列表中的命令/ 表單對象的校驗結果,注意檢驗結果參數必須緊跟在命令/ 表單對象的後面
• org.springframework.web.bind.support.SessionStatus
可以通過該類型 status 對象顯式結束表單的處理,這相當於觸發 session 清除其中的通過@SessionAttributes 定義的屬性
請求處理方法返回值的可選類型
• void
此時邏輯視圖名由請求處理方法對應的 URL 確定,如以下的方法:
@RequestMapping("/welcome.do")
public void welcomeHandler() {}
對應的邏輯視圖名為 「 welcome 」
• String
此時邏輯視圖名為返回的字元,如以下的方法:
@RequestMapping(method = RequestMethod.GET)
public String setupForm(@RequestParam("ownerId") int ownerId, ModelMap model) {
Owner owner = this.clinic.loadOwner(ownerId);
model.addAttribute(owner);
return "ownerForm";
}
對應的邏輯視圖名為 「 ownerForm 」
• org.springframework.ui.ModelMap
和返回類型為 void 一樣,邏輯視圖名取決於對應請求的 URL ,如下面的例子:
@RequestMapping("/vets.do")
public ModelMap vetsHandler() {
return new ModelMap(this.clinic.getVets());
}
對應的邏輯視圖名為 「 vets 」 ,返回的 ModelMap 將被作為請求對應的模型對象,可以在 JSP 視圖頁面中訪問到。
• ModelAndView
當然還可以是傳統的 ModelAndView 。
@ModelAttribute
• 作用域:request
• 例如
@RequestMapping("/base/userManageCooper/init.do")
public String handleInit(@ModelAttribute("queryBean") ManagedUser sUser,Model model,){
• 或者
@ModelAttribute("coopMap")// 將coopMap 返回到頁 面
public Map<Long,CooperatorInfo> coopMapItems(){}
• 說明
@ModelAttribute 聲明在屬性上,表示該屬性的value 來源於model 里"queryBean" ,並被保存到model 里@ModelAttribute 聲明在方法上,表示該方法的返回值被保存到model 里
@Cacheable 和@CacheFlush
• @Cacheable :聲明一個方法的返回值應該被緩 存
例如:@Cacheable(modelId = "testCaching")
• @CacheFlush :聲明一個方法是清空緩存的觸發器
例如:@CacheFlush(modelId = "testCaching")
• 說明
要配合緩存處理器使用,參考:
@Resource
• 例如
@Resource
private DataSource dataSource; // inject the bean named 'dataSource'
• 或者
@Resource(name="dataSource")
@Resource(type=DataSource.class)
• 說明
@Resource 默認按bean 的name 進行查找,如果沒有找到會按type 進行查找,
此時與@Autowired 類 似
在沒有為 @Resource 註解顯式指定 name 屬性的前提下,如果將其標注在 BeanFactory 類型、ApplicationContext 類型、ResourceLoader 類型、ApplicationEventPublisher 類型、MessageSource 類型上,那麼 Spring 會自動注入這些實現類的實例,不需要額外的操作。此時 name 屬性不需要指定 ( 或者指定為""),否則注入失敗;
@PostConstruct 和@PreDestroy
• @PostConstruct
在方法上加上註解@PostConstruct ,這個方法就會在Bean 初始化之後被Spring 容器執 行
(註:Bean 初始化包括,實例化Bean ,並裝配Bean 的屬性(依賴注入))。
• @PreDestroy
在方法上加上註解@PreDestroy ,這個方法就會在Bean 被銷毀前被Spring 容器執行。
@Repository
• 與@Controller 、@Service 類似,都是向spring 上下文中注冊bean ,不在贅述。
@Component (不推薦使用)
• @Component
@Component 是所有受Spring 管理組件的通用形式,Spring 還提供了更加細化的註解形式: @Repository 、@Service 、@Controller ,它們分別對應存儲層Bean ,業務層Bean ,和展示層Bean 。
目前版本(2.5 )中,這些註解與@Component 的語義是一樣的,完全通用, 在Spring 以後的版本中可能會給它們追加更多的語義。 所以,我們推薦使用@Repository 、@Service 、@Controller 來替代@Component 。
@Scope
• 例如
@Scope("session")
@Repository()
public class UserSessionBean implementsSerializable {}
• 說明
在使用XML 定義Bean 時,可以通過bean 的scope 屬性來定義一個Bean 的作用范圍,
同樣可以通過@Scope 註解來完成
@Scope中可以指定如下值:
singleton:定義bean的范圍為每個spring容器一個實例(默認值)
prototype:定義bean可以被多次實例化(使用一次就創建一次)
request:定義bean的范圍是http請求(springMVC中有效)
session:定義bean的范圍是http會話(springMVC中有效)
global-session:定義bean的范圍是全局http會話(portlet中有效)
@SessionAttributes
• 說明
Spring 允許我們有選擇地指定 ModelMap 中的哪些屬性需要轉存到 session 中,
以便下一個請求屬對應的 ModelMap 的屬性列表中還能訪問到這些屬性。
這一功能是通過類定義處標注 @SessionAttributes 註解來實現的。
@SessionAttributes 只能聲明在類上,而不能聲明在方法上。
• 例如
@SessionAttributes("currUser") // 將ModelMap 中屬性名為currUser 的屬性
@SessionAttributes()
@SessionAttributes(types = User.class)
@SessionAttributes(types = )
@SessionAttributes(types = ,value=)
@InitBinder
• 說明
如果希望某個屬性編輯器僅作用於特定的 Controller ,
可以在 Controller 中定義一個標注 @InitBinder 註解的方法,
可以在該方法中向 Controller 了注冊若干個屬性編輯器
• 例如
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
}
@Required
• 例如
@required
public setName(String name){}
• 說明
@ required 負責檢查一個bean在初始化時其聲明的 set方法是否被執行, 當某個被標注了 @Required 的 Setter 方法沒有被調用,則 Spring 在解析的時候會拋出異常,以提醒開發者對相應屬性進行設置。 @Required 註解只能標注在 Setter 方法之上。因為依賴注入的本質是檢查 Setter 方法是否被調用了,而不是真的去檢查屬性是否賦值了以及賦了什麼樣的值。如果將該註解標注在非 setXxxx() 類型的方法則被忽略。
@Qualifier
• 例如
@Autowired
@Qualifier("softService")
private ISoftPMService softPMService;
• 說明
使用@Autowired 時,如果找到多個同一類型的bean,則會拋異常,此時可以使用 @Qualifier("beanName"),明確指定bean的名稱進行注入,此時與 @Resource指定name屬性作用相同。
Ⅲ JavaWeb SpringMVC項目使用xml配置方式發布,打開瀏覽器訪問變成文件目錄類似ftp,折中情況如何解決
sql">Tomcat中confCatalinalocalhost目錄下,發布的配置文件改成:docBase="D:"試試。
Ⅳ 為什麼要用spring integration
使用入門
企業應用集成速成
我們實際構建一個非常普通的應用,以此來演示開發周期。該示例易於理解,但卻沒有斧鑿之嫌。此外,它還是一個很酷的工具。需求是:允許通過電子郵件將博客發送到一個已知地址,然後由該地址發布博客。這么做有一些好的理由。
Blogger([10]Google的博客服務)已經有這個功能。但我在我博客上運行Apache
Roller([11]),所以我可以使用這個解決方案。寫博客的惰性很大程度上是沒時間進入「發布」模式的副作用。Roller的軟體強迫用戶登錄並撰
寫博客文章。這么做很麻煩,尤其是你每次都不得不對付WYIWYG(所見即所得)編輯器。第二,構建該解決辦法最好的理由是,它提供了了一種簡單的集成,
能與盡可能少的運轉部分集成在一起。我們可以在本文中仔細分析該辦法。盡管這是假設的,但很有實際用途。
構建集成非常簡單,最好的「IDE」只是一張紙和一支筆。可以在很多工具中畫圖。將圖轉換成你喜歡的ESB配置格式或工具非常簡單。ESB使用相同的術語。了解術語要比了解任何一種工具或ESB更為重要。
讓我們回顧一些ESB
101定義,權當補習了。消息是傳遞到端點的有效負載。端點是通道的終點。通道是兩個端點間被命名的連接。通常,消息來自於消息系統,被分發到不了解消息
系統的應用中。同樣的事情或者會反過來以其它方式出現:應用可能會發送數據,但並不理解消息系統。針對這些問題,就需要通道適配器了。
就是這樣!這些就是你需要了解的條目,以便討論解決方案。其它條目都是這些條目之上的變異或詳細說明,或者是關於集成模式的,而不是關於集成本身。
Spring Integration概況
Spring Integration應用就是使用Spring
schema配置的簡單Java程序。如果你傾向於用常規的Spring配置來配置一切,就可以不使用schema。Schema會使事情更為簡單,這和
用schema配置使用Spring中方面的事務功能會更加簡單大致一樣。Spring
Integration為一般概念(集成命名空間)提供了方便的schema,還有適配器的具體配置,比如針對電子郵件或文件類型的配置。
Spring
Integration應用處理從通道傳遞過來的消息概念。消息的生命周期始於一個端點,通常是對適配器做出的反應。消息在經過處理管道的過程中,會在總
線內被轉化、路由至其它通道、分發、響應,或者被中斷並發送到一個死消息通道中去。如果你使用Spring
Integration介面編程——我們將在很大程度上盡可能保持內容一致並明確,那你要處理Message對象,Message對象如圖1所示。
Message類是個包裝器,包裝被處理消息的有效負載。對它進行操作,很容易獲得有效負載和消息頭,你可以對有效負載進行類型轉換,可以檢查、改
變消息頭。Spring
Integration不要求你使用Message介面。你的應用可以暴露一些方法,這些方法的參數類型跟你消息有效負載的類型相同。比如說,來自於文件
適配器(可以從文件系統發送消息的適配器)的消息可能會被改為java.io.File實例。
讓我們來看一個集成例子,它把電子郵件發送到一個電子郵件地址,轉換電子郵件後再將其發布到博客中。
示例的配置在src/main/resources/integrationsContext.xml中。全部源碼可以從這里下載。integrationsContext.xml文件乍看起來很平常。XML頂端的bean負責將屬性文件中的變數宏替換到該XML配置腳本中。後面導入了另一個Spring文件,該文件包含本集成中要使用的簡單服務。再沒什麼特別的了。
接下來繼續看相繼定義的四個bean,它們還是有意思的:服務催化器、轉換器
emailToBlogTransformer、處理器outboundBlogPostHandler和過濾器
。這四個bean會在配置的後面部分里用到。
實質配置的第一段是poller元素,它是文檔的默認輪詢器。確切來說,輪詢器是一種機制,在有變化時輪詢不同端點,並在感知到某些內容發生變化後
讓適配器對其做出響應,就像一個事件。出於簡單,我們為整個Spring Integration配置一個默認的輪詢器。見圖2。
接下來的三個元素是三個通道聲明。他們毫無意義,只是命名的通道而已。沒有端點或適配器的通道毫無用處。見圖3。
下一行配置了電子郵件適配器。電子郵件適配器查找發入系統的電子郵件,並將其放入名叫emailsIn的通道,該通道已經在上面定義了。電子郵件發
進來時,電子郵件系統並不會播報事件。在出現異常的時候(比如Spring Integration也支持的IMAP
IDLE),你通常需要一些東西來輪詢電子郵件帳戶以查找新的電子郵件。只要有新消息,它們就一次閱讀一條消息,並將該消息傳遞到處理管道的下一個組件。
見圖4。
現在消息在emailsIn通道中傳遞,被傳遞到通道的下一個組件——轉換器bean。轉換器獲取所有給它的內容,以某種方式改變消息(我們稍後會
詳細討論這一點),然後順便發送出去。這種情況下,會給Transformer給定一個包含MimeMessage類型有效負載的Message,轉化器
用於創建BlogPost類型的一個對象。BlogPost是我們系統特定的一個領域類。我們在這里把它作為DTO來用,但很顯然,它來自哪裡並不重要
——如果你願意,根據你的領域去處理它也可以。Transformer元素的最佳用法是:將消息格式轉換為系統常見的格式。這跟標准數據模式相關。
由此產生的BlogPost封裝在一條新消息中,其中包含原始消息的頭信息。頭信息正是你期望的那樣:特定於請求的值,可以對其訪問以獲取更多的元
數據。例如,從內部來說,Spring Integration匯流排給每樣內容分配一個ID。該ID暴露為頭信息值供你使用。該ID保證是唯一的。
然後消息被發送給過濾器,該過濾器訪問有效負載獲取發送者的值。這樣做是為了確保在
發布到博客的過程中你不會收到垃圾郵件。這個例子跟整個解決方案一樣,簡單的有些不合常理。你可以想像是去查詢Spring安全或LDAP,或是比這個做
得還要好的東西。見圖5:
XML配置的最後一段內容是service-activator元素,它獲取所有給它的內容並進行處理。在這種情況下,我們告知Spring
Integration調用ID為的bean的
pubishIncomignBlogEntry方法。該方法負責實際獲取有效負載,並將有效負載發送給發布博客條目的服務。
然後我們就大功告成了。內容看起來很多,但實際上就是相關XML的四段內容。聲明通道是為了講清楚例子。poller元素只定義了一次,這樣,上下文中需要輪詢器的所有內容都可以利用這個預設的輪詢器了。
可能的擴展
我們定義了三個通道、四個組件。通過這樣設計構成解決方案的組件,我們能讓這些組件在其它集成解決方案中可以重用。集成流程不僅僅限於此示例。我們
可能會在更復雜的集成中重用轉換器、過濾器,甚至是服務催化器。唯一需要重構的是Spring Integration
XML文件。有很多可能性。一個好的ESB應該做到:盡可能晚地重構流程設計和配置。
這里我們很容易就能想像到可以在什麼地方採用該解決方案。下面是一些可能的補充。
對於某些審計工作流,使用jBPM([12])對系統增加支持。假設我們想在解決方案中添加業務流程管理(BPM),比如
在消息傳入時,以某種工作隊列的分類存儲該消息,以便編輯器進行核准。編輯過程可以處理得跟工作流引擎內部要求的一樣。最終的博客內容核准後,編輯器把定
稿發送到同樣的電子郵件地址,帶著某種關鍵字或識別出能用作相關ID的關鍵字。相關ID可用來讓集成解決方案繼續進行,主要表現在更新的條目。見
[13]。
使用Spring Integration「組播」博客。當然,博客已經發布了。但還有一個問題,用舊的哲學問題來描述再
合適不過了:「如果在woods中RSS訂閱已經更新了,而沒有人輪詢到它,那博客算真正更新了嗎?」呃,也許我只是講了大概的意思!也可以通過
Twitter傳播博客標題,可以使用接收者列表模式([16])通知博客聚合器([14]、[15]等)。
更新過濾器例子來驗證某種真正授權的服務。也許能使用LDAP或Spring安全。
除了簡單的電子郵件之外,多樣化對發布的支持。FTP、
WebDav、文件系統(在源碼中,電子郵件適配器的下面注釋了一個簡單的文件目錄適配器配置)等都是可行的輸入類型。更先進的例子則可以從移動客戶端發
送SMS消息。(當然,我不確定有多少人用他們的手機寫博客。你永遠也不會知道。不過只有一種方式能找到答案。)目前還沒有對此的支持,但閱讀了
Spring Integration的源碼後會發現,很容易構建自己的適配器。你可以使用SMSLib[17]類似的庫。
Spring Integration的不足之處
Spring
Integration是全新且強大的。你可以對其背後的SpringSource的價值及其自身的不斷發展抱有信心。但這並不意味著它是完美的——它離
完美還遠著哩!應用集成不是一個新的領域,考慮解決方案和架構已經有數十年。應用集成的一些用法按慣例包含了重量級的適配器,比如那些與SAP集成的集成
方法或JDEdwards OneWorld。Spring Integration不能直接支持這些具體情況。
盡管Spring
Integration支持大量開箱即用的功能,但它對一些典型的適配器缺少支持,比如SFTP、HTTPS或AS2。目前,一些專有的解決方案能更好地
支持這些需求。有些解決方案非常昂貴,所以你可以為Spring
Integration試著改造第三方庫、編寫自己的適配器。如果你有興趣,你會因為為Spring
Integration編寫適配器相當簡單而感到驚喜。你要想開始創建解決方案,只需要看看jSch[18]、Jakarta Commons
VFS[19]或Jakarta Commons Net [20]。
Ⅳ springboots上傳文件到ftp伺服器 有沒有大神教一下
開始,運行,輸入cmd打開cmd以後就可以輸入ftp 就可以進入到ftp裡面輸入help 就可以看見所有ftp的幫助命令了常用的有get,put
Ⅵ new一個file需要什麼jar包
第三方包依賴:
commons-vfs-1.0.jar
ftp.jar
Spring2.0 : Spring20.jar
ibatis : ibatis-2.3.0.jar
struts2.0: struts2-core-2.0.11.jar
commons-net-1.4.1.jar
jsch-0.1.41.jar
平台內部包依賴:
sims-rtplt-component-configuration.jar
sims-rtplt-component-springhelper.jar
Ⅶ apache的FTP改變工作目錄求助
apacheFTPServer指定上傳目錄問題
1、不要對這個實在的功能問為什麼,自己做一下不就知道了嗎?你來問,我們能告訴你的是,他可以測試
2、因為你SSH整合如果Spring的配置文件不能讀取,那你的系統就跑不起來,Spring test可以讀取Speing的配置文件,不需要啟動伺服器。
Ⅷ 使用spring 定時任務實現ftp傳送 為什麼定時任務突然終止
這個有多種情況;
1、Ftp服務是否一致暢通;
2、Java處理FTP上傳的代碼是否進入異常,如果有異常情況是會結束;
建議先按照單元測試方法Junit 或者 main方法方式手動在本地調試下是否能夠正常上傳至FTP,如果可以則說明非代碼問題(有時候當天處理的文件名命名亂碼等也有關系,建議你就使用上傳終止的那份文件測試);如不可以當然要先改進你的代碼嘍;
Ⅸ spring cloud 微服務 需要service層嗎
需要的
Spring IO platform:用於系統部署,是可集成的,構建現代化應用的版本平台,具體來說當你使用maven dependency引入spring jar包時它就在工作了。
Spring Boot:旨在簡化創建產品級的 Spring 應用和服務,簡化了配置文件,使用嵌入式web伺服器,含有諸多開箱即用微服務功能,可以和spring cloud聯合部署。
Spring Framework:即通常所說的spring 框架,是一個開源的Java/Java EE全功能棧應用程序框架,其它spring項目如spring boot也依賴於此框架。
Spring Cloud:微服務工具包,為開發者提供了在分布式系統的配置管理、服務發現、斷路器、智能路由、微代理、控制匯流排等開發工具包。
Spring XD:是一種運行時環境(伺服器軟體,非開發框架),組合spring技術,如spring batch、spring boot、spring data,採集大數據並處理。
Spring Data:是一個數據訪問及操作的工具包,封裝了很多種數據及資料庫的訪問相關技術,包括:jdbc、Redis、MongoDB、Neo4j等。
Spring Batch:批處理框架,或說是批量任務執行管理器,功能包括任務調度、日誌記錄/跟蹤等。
Spring Security:是一個能夠為基於Spring的企業應用系統提供聲明式的安全訪問控制解決方案的安全框架。
Spring Integration:面向企業應用集成(EAI/ESB)的編程框架,支持的通信方式包括HTTP、FTP、TCP/UDP、JMS、RabbitMQ、Email等。
Spring Social:一組工具包,一組連接社交服務API,如Twitter、Facebook、LinkedIn、GitHub等,有幾十個。
Spring AMQP:消息隊列操作的工具包,主要是封裝了RabbitMQ的操作。
Spring HATEOAS:是一個用於支持實現超文本驅動的 REST Web 服務的開發庫。
Spring Mobile:是Spring MVC的擴展,用來簡化手機上的Web應用開發。
Spring for Android:是Spring框架的一個擴展,其主要目的在乎簡化Android本地應用的開發,提供RestTemplate來訪問Rest服務。
Spring Web Flow:目標是成為管理Web應用頁面流程的最佳方案,將頁面跳轉流程單獨管理,並可配置。
Spring LDAP:是一個用於操作LDAP的Java工具包,基於Spring的JdbcTemplate模式,簡化LDAP訪問。
Spring Session:session管理的開發工具包,讓你可以把session保存到redis等,進行集群化session管理。
Spring Web Services:是基於Spring的Web服務框架,提供SOAP服務開發,允許通過多種方式創建Web服務。
Spring Shell:提供互動式的Shell可讓你使用簡單的基於Spring的編程模型來開發命令,比如Spring Roo命令。
Spring Roo:是一種Spring開發的輔助工具,使用命令行操作來生成自動化項目,操作非常類似於Rails。
Spring Scala:為Scala語言編程提供的spring框架的封裝(新的編程語言,Java平台的Scala於2003年底/2004年初發布)。
Spring BlazeDS Integration:一個開發RIA工具包,可以集成Adobe Flex、BlazeDS、Spring以及Java技術創建RIA。
Spring Loaded:用於實現java程序和web應用的熱部署的開源工具。
Spring REST Shell:可以調用Rest服務的命令行工具,敲命令行操作Rest服務。
Ⅹ spring註解問題
如果定義了modelandview,那麼跳轉的頁面就是view指定的界面。
如果返回的是字元串,那麼這個字元串就是view的默認名稱,當然後綴是配置文件中制定的