Spring4.0系列4-Meta Annotation(元注解)
Spring4.0系列6-Generic Qualifier(泛型限定)
Spring4.0系列7-Ordering Autowired Collections
更多正在编写中。。。
4.0的一个重要特征就是完全支持Groovy,Groovy是Spring主导的一门基于JVM的脚本语言(动态语言)。在spring 2.x,脚本语言通过 Java scripting engine在Spring中得到支持。而在4.0中,Groovy的变得更重要,Groovy可以替换xml和注解用来作为bean配置。
要使用Groovy,首先用maven下载Groovy的包,pom.xml文件中添加:
<dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>2.1.8</version> </dependency>
下面使用xml,java annotation,groovy dsl实现相同功能的不同配置方式比较
XML
<jdbc:embedded-database id="dataSource" type="H2"> </jdbc:embedded-database> <bean class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" id="entityManagerFactory"> <property name="persistenceUnitName" value="persistenceUnit" /> <property name="dataSource" ref="dataSource" /> <property name="persistenceProviderClass" value="org.hibernate.ejb.HibernatePersistence"></property> <property name="packagesToScan"> <array> <value>com.hantsylabs.example.spring.model</value> </array> </property> <property name="jpaProperties"> <value> hibernate.format_sql=true hibernate.show_sql=true hibernate.hbm2ddl.auto=create </value> </property> </bean> <bean class="org.springframework.orm.jpa.JpaTransactionManager" id="transactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean>
Annotation
@Configuration @ComponentScan(basePackages = { "com.hantsylabs.example.spring.dao","com.hantsylabs.example.spring.jpa" }) @EnableTransactionManagement(mode=AdviceMode.ASPECTJ) public class JpaConfig { @Bean public DataSource dataSource() { return new EmbeddedDatabaseBuilder().setType(EmbeddedDatabaseType.H2).build(); } @Bean public LocalContainerEntityManagerFactoryBean entityManagerFactory() { LocalContainerEntityManagerFactoryBean emf = new LocalContainerEntityManagerFactoryBean(); emf.setDataSource(dataSource()); emf.setPackagesToScan("com.hantsylabs.example.spring.model"); emf.setPersistenceProvider(new HibernatePersistence()); emf.setJpaProperties(jpaProperties()); return emf; } private Properties jpaProperties() { Properties extraProperties = new Properties(); extraProperties.put("hibernate.format_sql", "true"); extraProperties.put("hibernate.show_sql", "true"); extraProperties.put("hibernate.hbm2ddl.auto", "create"); return extraProperties; } @Bean public PlatformTransactionManager transactionManager() { return new JpaTransactionManager(entityManagerFactory().getObject()); } }
Groovy DSL
import org.apache.commons.dbcp.BasicDataSource import org.springframework.orm.jpa.JpaTransactionManager import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean import com.hantsylabs.example.spring.jpa.JpaConferenceDaoImpl beans { dataSource(BasicDataSource) { driverClassName = "org.h2.Driver" url = "jdbc:h2:mem:spring4-sandbox" username = "sa" password = "" } entityManagerFactory(LocalContainerEntityManagerFactoryBean){ persistenceProviderClass="org.hibernate.ejb.HibernatePersistence" dataSource=dataSource persistenceUnitName="persistenceUnit" packagesToScan=["com.hantsylabs.example.spring.model"] jpaProperties=[ "hibernate.format_sql":"true", "hibernate.show_sql":"true", "hibernate.hbm2ddl.auto":"create" ] } transactionManager(JpaTransactionManager){ entityManagerFactory=entityManagerFactory } conferenceDao(JpaConferenceDaoImpl){ } }
新书推荐《JavaEE开发的颠覆者: Spring Boot实战》,涵盖Spring 4.x、Spring MVC 4.x、Spring Boot企业开发实战。
京东地址:http://item.jd.com/11894632.html
当当地址:http://product.dangdang.com/23926195.html
亚马逊地址:http://www.amazon.cn/图书/dp/B01D5ZBFUK/ref=zg_bsnr_663834051_6
淘宝地址:https://item.taobao.com/item.htm?id=528426235744&ns=1&abbucket=8#detail
或自己在京东、淘宝、亚马逊、当当、互动出版社搜索自选。
相关推荐
- **Groovy Bean Definition DSL**:引入 Groovy 语言编写的配置 DSL。 - **核心容器改进**:增强了核心容器的功能,提高了性能和灵活性。 - **Web 改进**:增强了 Web 相关组件的功能,例如 Servlet 3.1 支持等。 -...
Spring4.0 Groovy Bean定义DSL 从Spring Framework 4.0开始,可以使用Groovy DSL定义外部bean配置。 这在概念上与使用XML bean定义相似,但是允许使用更简洁的语法。 使用Groovy还使您可以轻松地将bean定义直接...
- **Groovy Bean Definition DSL**:Spring 4.0引入了Groovy DSL来定义Bean配置,提供了一种更简洁、更易于阅读的方式。 - **核心容器改进**:包括BeanFactory后处理器的增强、更强大的Bean工厂功能等。 - **Web改进...
对于配置,Spring 4.0引入了Groovy DSL,提供了一种更简洁的替代XML的方式,允许开发者用Groovy语法编写配置,提高了可读性和可维护性。 7. **类型安全的MessageConverter**: 为了增强HTTP消息转换功能,Spring ...
在Spring Framework 4.x的新特性中,文档突出了Java 8、Java EE 6和Java EE 7的支持,Groovy Bean定义DSL的引入,以及核心容器、Web层、WebSocket、SockJS和STOMP消息传递的改进。测试模块也得到了增强,为开发人员...
它还引入了Groovy式的Bean定义DSL,允许更简洁的配置方式。在Web框架方面,Spring 4.0增强了WebSocket支持,使得实时通信更加容易实现。测试方面也有所增强,提供了更好的测试工具和API,使得单元测试和集成测试更加...
- **Java 8支持**:随着Java 8的发布,Spring 4.0增加了对Java 8特性的支持,如Lambda表达式和流(Stream)等。 - **Java EE 6和7支持**:Spring 4.0增强了对Java EE标准的支持,特别是对Java EE 6和7的支持。 - **...
- **Groovy Bean Definition DSL**:提供 Groovy 语言的配置方式,使配置更加灵活。 - **核心容器改进**:增强 BeanFactory 和 ApplicationContext 的功能,提高性能。 - **通用 Web 改进**:改进了 Spring MVC 和...
- **Java 8 及其兼容性:** Spring 4.0 支持 Java 8,同时仍然兼容 Java 6 和 Java 7。 - **Java EE 6 和 7:** 该版本支持最新的 Java EE 规范,提供了更强大的企业级应用支持。 - **Groovy Bean Definition DSL:*...
Spring Framework 4.0中引入了对Java 8的支持,并且改进了对Java 6和Java 7的支持。另外,新增了对Java EE 6和Java EE 7的支持,并引入了Groovy Bean Definition DSL,使得使用Groovy语言定义bean更加方便。核心容器...
- **Groovy Bean定义DSL:** 提供了使用Groovy语言定义Bean的能力。 - **核心容器改进:** 核心容器得到了增强,提高了性能和可用性。 - **Web改进:** 包括对RESTful应用的改进。 - **WebSocket、SockJS和STOMP消息...
- **Groovy Bean Definition DSL(Groovy Bean Definition DSL)**:引入了使用Groovy语言定义Bean的新方式。 - **核心容器改进(Core Container Improvements)**:增强了核心容器的功能。 - **通用Web改进(General Web...
- Spring Framework 4.0带来了对Java 8的支持,同时也保证了与Java 6和7的兼容性。此外,它还提供了对Java EE 6和7的支持,以及Groovy语言编写的Bean定义DSL(Domain Specific Language,领域特定语言)。 - 核心...
- **Java 8支持**:Spring 4.0引入了对Java 8的支持,利用Lambda表达式和流(Stream API)等新特性。 - **Java EE 6和7**:Spring 4.x增强了与Java EE标准的集成,特别是Java EE 6和7。 - **Groovy Bean Definition ...
- **Java 8 支持**:Spring 4.0 开始支持 Java 8,充分利用其新特性,如 Lambda 表达式和 Stream API。 - **Java EE 6 和 7 支持**:Spring 4.0 支持最新的 Java EE 规范。 - **Groovy Bean Definition DSL**:引入...
在Spring Framework 4.0中,开发者可以看到Java 8的支持,并且移除了一些不推荐使用的包和方法。Java EE 6和Java EE 7的集成也得到了增强,同时引入了Groovy Bean Definition DSL,允许开发者以Groovy脚本的方式定义...
- **Groovy Bean Definition DSL**:为Groovy用户提供了一种更自然的方式来定义bean。 - **核心容器改进**:增强了BeanFactory和ApplicationContext的功能。 - **通用Web改进**:提高了Web应用开发的灵活性和效率。 ...
Spring 4.0引入了使用Groovy语言编写的Bean定义DSL(领域特定语言),简化了基于Spring的应用配置。 3.6 核心容器的改进 核心容器模块得到了增强,提高了配置和使用上的灵活性。 3.7 通用Web改进 Spring 4.x增强了...
- **Groovy Bean Definition DSL**:提供了 Groovy 语言编写配置文件的支持。 - **核心容器改进**:增强了 Bean 的生命周期管理,引入了新的 API。 - **Web 改进**:增强了 MVC 和 WebSocket 的支持。 - **...