Il Spring Framework fornisce una suite completa di strumenti di sviluppo software che accelerano l'intero edificio, l'esecuzione e la gestione delle applicazioni aziendali Java.
La combinazione di MVC con AOP e DI (IOC), La primavera è un toolkit avanzato che può essere una sostituzione o aggiunta al modello di Enterprise JavaBeans (EJB).
La sorgente funziona per prendersi cura di tutta la logica codice complesso che risiede nel ventre di qualsiasi software Java enterprise-ready, liberando lo sviluppatore di concentrarsi maggiormente sulla logica di business a livello di applicazione.
Il quadro La primavera arriva con un sacco di documentazione, esempi, tutorial e plugin gratuiti per estendere le funzionalità di default
Cosa c'è di nuovo in questa versione:.
- Supporto @NumberFormat come un meta-annotazione
- registrazione RestTemplate per 404 codice di stato
- Ignora nullo in HeadersBuilder # intestazioni
- TcpConnection dovrebbe estendersi java.io.Closeable
Cosa c'è di nuovo nella versione 4.2.4 / 3.2.16:
- Supporto @NumberFormat come un meta -annotation
- registrazione RestTemplate per 404 codice di stato
- Ignora nullo in HeadersBuilder # intestazioni
- TcpConnection dovrebbe estendersi java.io.Closeable
Cosa c'è di nuovo nella versione 4.1.7 / 3.2.14 / 4.2.0.RC3:
- Supporto @NumberFormat come un meta-annotazione
- registrazione RestTemplate per 404 codice di stato
- Ignora nullo in HeadersBuilder # intestazioni
- TcpConnection dovrebbe estendersi java.io.Closeable
Cosa c'è di nuovo nella versione 4.1.6 / 3.2.13 / 4.20.RC1:
- Supporto @ NumberFormat come un meta-annotazione
- registrazione RestTemplate per 404 codice di stato
- Ignora nullo in HeadersBuilder # intestazioni
- TcpConnection dovrebbe estendersi java.io.Closeable
Cosa c'è di nuovo nella versione 4.1.6 / 3.2.13:
- Supporto @NumberFormat come un meta -annotation
- registrazione RestTemplate per 404 codice di stato
- Ignora nullo in HeadersBuilder # intestazioni
- TcpConnection dovrebbe estendersi java.io.Closeable
Cosa c'è di nuovo nella versione 4.1.5 / 3.2.13:
- Spring Framework 4.1.2 è la seconda versione di manutenzione nella linea 4.1.x, ma anche si presenta come una versione di funzionalità chiave, tra cui molti miglioramenti dall'utente suggerito e contributi degli utenti.
Cosa c'è di nuovo nella versione 4.1.1:.
- gestione coerente di tipo opzionale Java 8 di
- Una classe costruttore Jackson ObjectMapper con impostazioni predefinite raffinati.
- Alcuni parametri richiesti JDBC.
- miglioramenti delle prestazioni specifiche.
Cosa c'è di nuovo nella versione 4.1.0:
- campo diretto supporto legame con auto-crescita per nested campi
- Java 8 del opzionale per i punti di iniezione e parametri del gestore MVC
- Il supporto per l'annotazione @Priority standard per la dipendenza ordinamento e la selezione
- metodi Annotated @Lookup con il supporto per argomenti del costruttore fornite
- script SQL dichiarative e le transazioni programmatiche del quadro TestContext
- avanzata configurazione Hibernate JPA: livelli di isolamento, la scoperta di pacchetti gestite
- Annotated JMS metodi listener
- Supporto completo per JCache (JSR-107) annotazioni
- risoluzione flessibile e trasformazione delle risorse web statici
- viste MVC: risoluzione dichiarativa, modelli di markup Groovy, di Jackson JSONView
- WebSocket parametri: portata WebSocket, supporto client SockJS, WebSocket statistiche
- Performance: SPEL modalità compilatore, la concorrenza messa a punto attraverso il contenitore
Cosa c'è di nuovo nella versione 4.0.3:.
- supporto Java 8 è ora pronto per la produzione
Cosa c'è di nuovo nella versione 4.0.2 / 3.2.8:
- Rafforza primavera OXM per la protezione contro una vulnerabilità XXE.
Cosa c'è di nuovo nella versione 4.0.1 / 3.2.7:
- Entrambe le versioni sono dotate di notevole bug correzioni e miglioramenti rispetto ai loro predecessori immediati e sono fortemente raccomandati per un aggiornamento.
Cosa c'è di nuovo nella versione 3.2.4:
- Questa versione include numerosi bugfix e miglioramenti, tra cui un importante fix di sicurezza per la primavera OXM.
Cosa c'è di nuovo nella versione 3.2.1:
- JmsTemplate utilizza configurato ReceiveTimeout se più breve rispetto restante timeout di transazione .
- Aggiunto MappingJackson2MessageConverter per JMS.
- parametro JDBC vincolante utilizza JDBC 3.0 ParameterMetaData (se disponibile) per la determinazione del tipo.
- JpaTransactionManager ecc trova EntityManagerFactory default nel contesto genitore pure.
- MimeMessageHelper codifica attaccamento nome del file se non ASCII compatibile.
- FreeMarkerConfigurationFactory supporta correttamente TemplateLoaders quando ricreare configurazioni.
- SpringContextResourceAdapter implementa uguali / hashCode in base al contratto JCA 1.5.
- ContextLoader rileva correttamente WebApplicationContext pre-rinfrescato.
- Aggiunto il supporto per segnaposto in @RequestMapping valore di annotazione.
- Aggiunto il supporto per specificare un codice messaggio come motivo @ResponseStatus.
- HttpEntityMethodProcessor supporta HttpEntity / ResponseEntity sottoclassi pure.
- Piastrelle 3 TilesConfigurer funziona correttamente in combinazione con & quot; completeAutoload & quot;.
Cosa c'è di nuovo nella versione 3.2.0:
- perfezionamenti Concorrenza in tutto il quadro, evitando l'uso di sincronizzazione ove possibile - in particolare per i fagioli / prototipo con ambito
- Tenendo conto @Autowired e @Value da utilizzare come meta-annotazioni, ad esempio per costruire le annotazioni di iniezione personalizzati in combinazione con qualificazioni specifiche
- Il supporto per le annotazioni di definizione @Bean personalizzato in classi @Configuration, ad esempio in combinazione con qualificazioni specifiche, @Lazy, @Primary, etc
- l'elaborazione asincrona MVC su Servlet 3.0, con i metodi del gestore Spring MVC poter tornare callable e DeferredResults
- L'inclusione della ex-autonomo progetto di prova Spring MVC, consentendo per il test di prima classe di applicazioni Spring MVC
Cosa c'è di nuovo nella versione 3.2 RC2:
- Piastrelle-3 di sostegno
- Aggiunto il supporto per & # x3c; rif & # X3e; Oltre a & # x3c; Bean & # X3e; per & # x3c; MVC: message-convertitori & # X3e;
Cosa c'è di nuovo nella versione 3.1.3:.
- Questa versione include oltre 80 correzioni e miglioramenti
Cosa c'è di nuovo nella versione 3.1.2:
- Questa versione include molte correzioni di bug importanti e miglioramenti minori e è un aggiornamento consigliato.
Cosa c'è di nuovo nella versione 3.2 M1:
- Il supporto iniziale per i metodi asincroni @Controller
- Supporto iniziale per i fornitori di cache basati JCache
- miglioramenti delle prestazioni significativi nel autowiring di fagioli non singleton
- Supporto ritardo iniziale per @Scheduled e & # x3c; compito: in programma & # X3e;
- Possibilità di scegliere tra più executuors con @Async
- selezione del profilo di fagioli migliorata utilizzando il non (!) Operatore
- 48 bug risolti, 8 nuove funzionalità e 36 miglioramenti implementati
Cosa c'è di nuovo nella versione 3.1.0:
- L'astrazione ambiente ed i profili di definizione di fagioli associati, insieme con le fonti di proprietà centrale configurabili per la risoluzione segnaposto.
- Configurazione applicazione basata su Java basata su @ Abilita annotazioni * sulle classi di configurazione, consentendo una comoda configurazione del contenitore: per esempio utilizzando @EnableTransactionManagement per attivare l'elaborazione delle transazioni dichiarativa.
- L'astrazione cache con la nostra soluzione di caching dichiarativa (@Cacheable ecc) sulla parte superiore, concentrandosi sulla comoda interazione tra fornitori di codice dell'applicazione e della cache.
- Il meccanismo WebApplicationInitializer Servlet 3.0 sulla base per l'avvio di una applicazione web primavera senza web.xml! Questo è un pezzo chiave nella storia configurazione web della Primavera, fornendo una ricca alternativa al bootstrapping basato su XML.
- trattamento MVC rielaborata con supporto attributo flash, una nuova annotazione @RequestPart, e ulteriori perfezionamenti di supporto REST. Questa nuova HandlerMapping / HandlerAdapter variante è anche altamente estensibile per esigenze personalizzate MVC.
Cosa c'è di nuovo nella versione 3.1.0.RC1:
- Il supporto per Hibernate 4.0 (aggiornata con 4,0 CR4)
- Supporto completo quadro TestContext per le classi @Configuration
- portata Flash per Spring MVC
- Il supporto per Quartz 2.0
- 77 bug, 16 nuove funzionalità, miglioramenti 66
correzioni
Cosa c'è di nuovo nella versione 3.0.6:
- aspetti fissi fascio di dichiarare le dipendenze per aspetto @Async così
- ProxyCreationContext usa & quot; ThreadLocal.remove () & quot; su & quot; ThreadLocal.set (null) & quot; così
- DefaultListableBeanFactory è deserializable solo attraverso un SerializedBeanFactoryReference
- di DefaultListableBeanFactory getBean (nome, tipo) tenta la conversione del tipo, se necessario
- DefaultListableBeanFactory permette di metodi init di registrare ulteriori definizioni di fagiolo (di nuovo)
- XmlBeanDefinitionReader accetta descrizione sottoelemento all'interno mappa di entrata così (come da XSD)
- ConfigurationClassPostProcessor supporta l'uso di stessa istanza processore con diverse fabbriche
- fissi potenziale InjectionMetadata NPE quando si utilizza SpringBeanAutowiringInterceptor
- SpringBeanAutowiringSupport è in grado di elaborare le annotazioni @value in un dato istanza di destinazione
- annotazioni override @PersistenceContext sui metodi delle sottoclassi sono in fase di elaborazione correttamente
- BeanDefinitionVisitor ora effettivamente visite nomi dei metodi di fabbrica
- Supporto di vacanza per la conversione String-a-ContextResource
- Restaurato comportamento GenericConversionService originale rispetto alle collezioni di vuoti / mappe
- Restaurato comportamento FormattingConversionService originale per quanto riguarda l'uso di sottotipi
- Aggiunto & quot; formattatori & quot; proprietà FormattingConversionServiceFactoryBean
- conversione Collection / matrice restituisce collezione originale se possibile (al posto del primo elemento)
- fissi risoluzione elemento raccolta quando si utilizza un ConversionService con un DataBinder
- DataBinder utilizza un limite predefinito di 256 per gamma / collezione di auto-coltivazione
- Aggiunto & quot; autoGrowNestedPaths & quot; proprietà ConfigurableWebBindingInitializer
- Servlet / PortletRequestDataBinder eseguire scartare per MultipartRequest così
- AbstractBindingResult fisso per evitare NPE in & quot; hashCode () & quot; se l'obiettivo è nullo
- Risolti diversi problemi HttpHeaders (movimentazione charset, citando / toglie la quotatura)
- SimpleClientHttpRequest utilizza la modalità di streaming di lunghezza fissa (imposta sempre intestazione Content-Length)
- Aggiunto & quot; ConnectTimeout & quot; e & quot; ReadTimeout & quot; proprietà a semplice / CommonsClientHttpRequestFactory
- codice di stato esplicito nel RedirectView rispettato in modalità HTTP 1.0 compatibilità
- FormHttpMessageConverter elabora correttamente le richieste POST
- ResourceHttpRequestHandler non impostata header Content-Length per 304 risposta li>
- ResourceHttpRequestHandler rileva directory non valida traversal nel dato percorso
- LocaleChangeInterceptor convalida valori di locale al fine di evitare XSS vulnerabilità
- HtmlUtils sfugge correttamente virgolette singole, nonché
- Aggiunto il supporto per web.xml context-param & quot; springJspExpressionSupport & quot; (Esplicita & quot; vero & quot; / & quot; falsi & quot;)
- ContextLoader e FrameworkServlet sostegno & quot; ContextID & quot; parametro per la serializzazione personalizzato id
- RemoteExporter utilizza un proxy opaco per 'serviceInterface' (nessuna interfaccia AOP esposti)
- Aggiunto & quot; acceptProxyClasses & quot; flag per RemoteInvocationSerializingExporter
- raffinato WebLogic RMI descrittore solo marchio metodo 'getTargetInterfaceName' come idempotente
- EhCacheManagerFactoryBean chiude & quot correttamente; ehcache.xml & quot; flusso di input, se del caso
- Revised JMS CachedConnectionFactory al fine di evitare inutili rollback invita sessione tornare
- fissi JMS CachedConnectionFactory per sincronizzare pienamente la sua lista sessione
- fissi gestione del NamedParameterJdbcTemplate di array come parametri di query
- fissi 2.0 timeout APP suggerimenti per specificare correttamente millisecondi
- pacchetto quarzo aggiornato per supportare Quartz 1.8 e (nota: non supportare Quartz 2.0 ancora)
- @Rule fisso ordine di esecuzione in SpringJUnit4ClassRunner per abbinare il comportamento standard JUnit 4
Cosa c'è di nuovo nella versione 3.1.0.M2:
- equivalenti al codice per il namespace XML di Spring
- API Builder stile per la configurazione di Hibernate basato su codice
- Supporto quadro TestContext per @Configuration classi e profili di definizione di fagioli
- Supporto per l'iniezione contro JavaBeans setter non standard
- Il supporto per Servlet 3 codice di configurazione basata su servlet container
- Il supporto per Servlet 3 MultipartResolver
- JPA EntityManagerFactory bootstrapping senza persistence.xml
- Nuovo HandlerMethod a base di classi di supporto per Annotated controller lavorazione
- consuma e produce @RequestMapping Condizioni
- Utilizzo delle variabili di modello di URI nei metodi controller
- Convalida Per argomenti del metodo @RequestBody
Cosa c'è di nuovo nella versione 3.0.5:
- Aupport per Hibernate 3.6 finale
- Aggiunto astrazione nucleo serializzatore con le implementazioni predefinite utilizzando Java serializzazione
- uso costante di JDK 1.5 di & quot; ThreadLocal.remove () & quot; su & quot; ThreadLocal.set (null) & quot;
- fissi JodaTimeContextHolder per utilizzare un ThreadLocal non ereditari ed esporre un metodo di ripristino
- Revised & quot; ClassUtils.isAssignable & quot; semantica per coprire primitive vs involucri in entrambe le direzioni
- Ottimizzato prestazioni AnnotationUtils findAnnotation per la ricerca ripetuta sul stesse interfacce
- ConversionService si protegge contro la ricorsione infinita in ObjectToCollectionConverter
- TypeDescriptor per risolvere correttamente collezioni annidate e le loro tipologie elemento fisso
- BeanWrapper non tenta di popolare i valori Mappa in materia di accesso (solo auto-cresce mappa stessa)
- fissi Autowired / CommonAnnotationBeanPostProcessor per evitare race condition nel salto di controllo
- iniezione @Value fisso per mettere in cache in modo corretto i risultati nulli temporanei per i fagioli non singleton
- ApplicationContext registra ClassArrayEditor contesto specifico per la sua ClassLoader fagiolo
- raffinato ApplicationContext elaborazione Singleton per non fallire per i casi nulli registrati manualmente
- fissi elaborazione di eventi ApplicationContext per ripetute invocazioni a fagioli ascoltatore non Singleton
- messaggi di errore @Bean ottimizzati per metodi factory statici così come per il tipo di argomento mancate corrispondenze
- espressione Modificato l'analisi di passare contesto pieno TypeDescriptor attraverso ConversionService chiama
- espressione Adattato del parser Constructor / MethodResolver accettare TypeDescriptors invece di tipi prime
- Giochi Driver supporta la proiezione su ogni tipo di raccolta (non solo sulle liste e array)
- SPEL MapAccessor rifiuta & quot costantemente; target.key & quot; l'accesso a mappe stile se non viene trovata tale tasto
- Metodo SPEL invocazioni metodo preferiscono con i parametri minor numero (ad esempio no-arg sopra vararg)
- AspectJExpressionPointcut utilizza ClassLoader fagiolo per inizializzare il parser AspectJ pointcut
- variante a base di AspectJ Aggiunto AnnotationAsyncExecutionAspect come del trattamento @Async
- Modalità di inserimento = & quot; delega & quot; / & quot; aspectj & quot; e opzioni proxy-bersaglio di classe al compito: annotazioni-driven
- JDBC fascio usa ClassLoader locale come ClassLoader fagiolo per & quot; sql-error-codes.xml & quot; analisi
- EmbeddedDatabaseFactory si spegne database quando non riuscendo per popolarlo in & quot; initDatabase () & quot;
- supporto di database embedded ora funziona anche con Derby & # X3e; = 10.6
- & quot; JDBC: embedded-database di & quot; usa id come nome del database per consentire quelli multipli in parallelo
- ResourceDatabasePopulator getta ScriptStatementFailedException descrittivo con i dettagli delle risorse
- Aggiunto configurabili tipi di connessione / Normativa / bersaglio ResultSet per Jdbc4NativeJdbcExtractor
- Aggiunto OracleJdbc4NativeJdbcExtractor con i tipi di API JDBC Oracle preconfigurati
- DefaultLobHandler di & quot; wrapAsLob & quot; modalità funziona con PostgreSQL di & quot; getAsciiStream () & quot; requisito
- ResultSetWrappingSqlRowSet (usati per JdbcTemplate di & quot; queryForRowSet & quot;) supporta etichette di colonna ora
- per & quot; LocalSessionFactoryBean entityCacheStrategies & quot; funziona con nomi delle regioni in Hibernate 3.6 e
- fissi di DefaultMessageListenerContainer no-messaggio-ricevuto impegnarsi a lavorare senza Session cache
- cassonetti di DefaultMessageListenerContainer no-messaggio-ricevuto commesso su Tibco (evitando una situazione di stallo)
- JaxWsPortClientInterceptor non cade di nuovo al nome dell'annotazione-specificato come portName più
- UriTemplate è serializzabile ora
- caching di AnnotationMethodHandlerAdapter fisso al fine di evitare problemi di concorrenza in RequestMappingInfo
- fissi trattamento @MVC di annotazioni a livello parametro di lavorare con i proxy di interfaccia basata su nuovo
- elaborazione @RequestParam riveduta per sostenere CSV-to-array / legame con ConversionService collezione
- fissi EvaluationContext caching di EvalTag per gestire correttamente JSP tag caching attraverso richieste
- AbstractJasperReportsView imposta solo gli attributi di modello locale se non presenti già
- DispatcherPortlet getta NoHandlerFoundException personalizzato invece di ingannare UnavailableException
- copie DispatcherPortlet tutti i parametri di azione per rendere i parametri in caso di un'eccezione azione
- risorsa di default di DispatcherPortlet servire esplicitamente impedisce l'accesso al WEB-INF e META-INF
- Portlet @ExceptionHandler metodi consentono di scrivere la risposta direttamente (come nel caso Servlet)
- MockHttpServletRequest / HttpSession / etc torna Enumeration indipendente da & quot; getAttributeNames () & quot;
Requisiti :
- Java 1.3 o superiore
I commenti non trovato