Spring6.0,spring606
前瞻:Spring 6.0将停止支持Freemarker和JSP
Spring Framework 6.0 第一个里程碑版本已经发布,目前已经可以从 Spring Repo 获取。这里有一些新变更我们可以提前了解一下。
甲骨文已经把 Java EE 捐献给 Eclipse 基金会数年了。 Java EE 的名称也变更为了 Jarkarta EE ,包名也相应地从 javax 变更为 jakarta 。例如 javax.persistence 现在对应为 jakarta.persistence 。
在本次里程碑版本中涉及到的两个核心容器规范 JSR-250 和 JSR-330 的包名都会迁移到 Jakarta EE 。
Jakarta EE 的持久层规范也将在此次里程碑版本中完成迁移。这意味着 javax.persistence 和 jakarta.validation 都将实装。对应 Hibernate ORM 5.6.x 和 Hibernate Validator 7.0.x 。
由于 Jakarta EE 的合并迁移, Servlet 中间件也要进行升级。 Tomcat 10 , Jetty 11 , 或者基于 undertow-servlet-jakarta 的 Undertow 2.2.14 是目前里程碑版本的基准线。
一些过时的基于 Servlet 的组件已经在本次里程碑版本中移除。
现在 Spring MVC 和 Spring WebFlux 将不再将类上单独有 @RequestMapping 的 Spring Bean 视为控制器。在 6.0 之前默认情况以下代码是可以的:
6.0 之前相关基于 AOP 的代理机制将失效, 请为此类控制器启用基于类的代理 。
请求方法 HttpMethod 在 6.0 之前为Java枚举。
在 6.0 以后改为Java类:
在2022年的1月份 Spring Framework 6.0 的第二个里程碑和对应的Spring Boot 3.0第一个里程碑将和大家见面。
急急!!对于spring hibernate jotm tomcat6.0 开发,如何配置分布式事务,最好可以给我发个例子,谢谢!
这个问题其实是由rmi服务器端程序造成的。
客户端程序向服务端请求一个对象的时候,返回的stub对象里面包含了服务器的hostname,客户端的后续操作根据这个hostname来连接服务器端。要想知道这个hostname具体是什么值可以在服务器端bash中打入指令:
hostname -i
如果返回的是127.0.0.1,那么你的客户端肯定会抛如标题的异常了。
解决这个问题有两个方式:
1 修改/etc/hosts
找到127.0.0.1 hostxxxxx这样的字样。把127.0.0.1改成真实的,可供其他机器连接的ip。
这样客户端就能得到真实的ip了。
2 在rmi服务器端程序启动脚本中加上两行,显式指定hostname。我的脚本:
hostname=`hostname`
java -cp $CLASSPATH -Djava.rmi.server.codebase=$codebase -Djava.security.policy=$PROJECT_HOME/se_server/conf/se_server.policy -Djava.rmi.server.hostname=$hostname com.abc.server.StartServer $PROJECT_HOME/se_server/logs/init.log 21
不过该方式有个局限,其他机器肯定能识别ip,但是可能无法识别hostname。
当然,你也可以直接写死这个hostname,比如:-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx。 这样最省力,就是少点灵活性.
现在企业中常用的是spring的哪个版本
企业常用spring的2.5版本
简介:
1. JDK版本: JDK至少要1.4.2以上,如果仍然打算使用1.3的话就请用2.0.6/2.0.7版本吧。
(2) Spring对Java EE的支持
Spring框架继续保持对Java EE1.3及以后版本的兼容,完全支持Java EE 5。
(3) Spring对服务器(应用服务器和Web服务器)的支持
WebLogic:8.1、9.0、9.2、10
WebSphere:5.1、6.0、6.1
OC4J(Oracle):10.1.3、11
JBoss:3.2、4.0、4.2
Tomcat:4.1、5.0、5.5、6.0
Jetty:4.2、5.1、6.1
Resin:2.1、3.0、3.1
GlassFish:v1、v2
控制反转(IoC)容器:
(1) 新的bean作用域
Spring2.0
IoC容器中只支持singleton和prototype两个不同的bean作用域,而在Spring2.5中则还支持request、session、global
session三个在web环境下使用的bean作用域,且提供了hooks,可以让用户创建自己的作用域。
(2) XML配置更简单
Spring2.5对Spring 2.0的DTD进行了更新,使用时:!DOCTYPE beans
PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
spring-beans-2.0.dtd可在发布包下的dist/resources下找到。
(3) Annotation(注解)驱动配置
Spring2.5引入了完整的Annotation集合如:@Resource、@Autowired等
面向切面编程(AOP):
(1) 更简单的AOP XML配置
支持定义从JAVA对象中发展中来的切面
(2) 对@AspectJ的支持
加入了对bean(...)pointcut 元素的支持,在 spring定义的bean命名中对指定的命名进行匹配
(3) 对AspectJ load-time weaving的支持
中间层:
(1) XML声明式事务配置更简单
以前版本的事务配置方式仍然支持,Spring2.5支持装载时织入和注解驱动的事务管理,这是通过context:load-time-weaver
和tx:annotation-driven mode="aspectj"的联合使用进行的。
(2) 对Websphere 事务管理的完整支持
自动探测底层的JTA 事务平台,可以使用Spring 2.5的新 tx:jta-transaction-manager
配置元素。它会自动探测BEA WebLogic和IBM
WebSphere,注册正确的PlatformTransactionManager。
(3) JPA
Spring 2.5对OpenJPA的支持升级到了OpenJPA 1.0,支持savepoint这样的高级特性
(4) 异步的JMS
在Spring 2.5中,
JCA风格的异步消息监听器设置也通过GenericMessageEndpointManager工具得到了支持。这是对标准JMS监听器工具的补充,允许对ActionMQ和JORAM这些消息broker进行更深入的集成。Spring
2.5 还引入了一个XML
namespace来简化JMS配置,可以对大量监听器进行简明配置。这一命名空间支持标准的JMS监听器和JCA
setup风格,在配置时只有很小的改变。
(5) JDBC
引入了新类,Spring 2.5显著的扩充了SimpleJdbcTemplate的功能,引入了SimpleJdbcCall
和SimpleJdbcInsert操作对象。
移植到Spring2.5:
从Spring2.0.X升级到Spring2.5只需要把Spring2.5的jar复制到您工程目录相应的配置。
改动处:可以参考发布包下的changelog.txt文件
在Spring2.5中,Spring Web
MVC不再在spring.jar里,Spring
MVC发布在lib/modules下,包是:spring-webmvc.jar和spring-webmvc-portlet.jar。
对struts1.x的支持独立成spring-webmvc-struts.jar。
Spring2.0的'spring-jmx.jar'和
'spring-remoting.jar'已经被转移到 Spring 2.5的'spring-context.jar'。
Spring 2.0的
'spring-support.jar' 被改名为 'spring-context-support.jar'。
Spring 2.0的'spring-jdo.jar', 'spring-jpa.jar',
'spring-hibernate3.jar', 'spring-toplink.jar' 和 'spring-ibatis.jar'
被合并到Spring 2.5大粒度的'spring-orm.jar'中。
Spring 2.5的 'spring-test.jar' 取代了'spring-mock.jar'。
Spring 2.5的 'spring-tx.jar' 取代了 'spring-dao.jar' 和'spring-jca.jar'
文件。
Spring主代码中的Apache OJB支持被完全删除了。
iBATIS SQL Maps 1.3支持被完全去除了。
Spring 2.5中,对 Hibernate 2.1 和 Hibernate 3.0 的支持已经去除。
Spring 2.5中,对JDO 1.0 的支持被去除。
2.5的新特性
Spring2.5rc1发布了,一直想知道它葫芦里卖什么药,以下是文档里的change.log
1. JDK版本: JDK至少要1.4.2以上,如果仍然打算使用1.3的话就请用2.0.6/2.0.7版本吧。
2. Jar包:SpringMVC 不再使用spring.jar 这个庞大的包了。 Spring-webmvc.jar,
spring-webmvc-portlet.jar 可以在 lib/modules 目录下找到,而且对于Struts1.*
的支持的包也应该改成 spring-webmvc-struts.jar了。
3. XML配置:推荐使用XML
metadata格式,不过先前的DTD仍然支持。需要注意的一点是,Spring1.2的DTD继续使用“singleton”属性,但是新的Spring2.0
DTD不允许使用“singleton”属性了,改成“scope”属性来描述bean的生命周期。
4. 废弃的类与方法:有些在先前版本标注过“@deprecated”的类与方法已经完全被废弃了。
比如:
ResultReader : 被 RowMapper 接口取代。
BeanFactoryBootstrap : 考虑使用 BeanFactoryLocator
或自定义的bootstrap类来代替。
5. Apache OJB:注意Spring源代码中已经完全把这个去掉了,但与之整合的类仍然可以在Spring Modules
project找到。
6. iBATIS:注意Spring已经不再支持iBATIS 的1.3版本了,
如果想继续的话,请升级到2.3以上吧。
7. Hibernate:注意Spring已经不再支持Hibernate
3.1之前的版本了,也就是说2.1,3.0的版本也无法使用了。如果仍然要用的话,推荐使用Spring的2.0.6/2.0.7版本。
8.
JDO:注意Spring已经不支持JDO1.0了。同样,你可以升级到2.0以上版本,或者使用Spring的2.0.6/2.0.7版本。
9. UrlFilenameViewControlle
r :这个东东我也没有接触过,这里,我就简单翻译一下吧。
“考虑到嵌套路径的请求,视图名称现在决定叫UrlFilenameViewControlle
r了,这是一个突破性的改变,并且意味着如果你从Spring1.*
升级到Spring2.0 你可以使用该类从而减少Spring Web MVC的配置工作。”
iSpring Free 6.0怎么用
iSpring是一款免费的PowerPoint转Flash工具,可以轻松地将PPT演示文档转换为对Web友好的Flash影片格式,转换的同时将会保留原有的可视化与动画效果,而Flash格式的最大特点是体积小巧、易于分发,兼容所有的操作系统和浏览器等。而这一切都是免费的,虽然收费的Pro版能自定义更多的选项,Free版的对我们日常情况也已经够用了!
iSpring是以PowerPoint插件的形式工作的,再打开PowerPoint就能看到了,Vista系统请以管理员权限运行;我在PowerPoint 2003下测试通过,转换效果很是不错,与原有PPT文档相差无几,只是对一些图像质量有所下降,应是压缩的缘故!
*??支持PowerPoint 2000/XP/2003/2007;
*??支持超链接和动作按钮;
*??超过180中的PowerPoint动画效果;
*??支持所有的PowerPoint幻灯片切换效果;
*??单击即可轻松转换;
*??嵌入式的音乐、音频支持;
*??自动同步动画与声音;
*??嵌入视频剪辑与Flash影片;
*??基于Flash的播放器;
*??将YouTube视频插入到幻灯片中(v4.2)。
安装后的PowerPoint插件样子:
可以直接点击 Quick Publish 直接发布为Flash影片,iSpring会以默认参数发布,生成SWF与HTML文件,同时保存到文档文档目录;需要自定义的话请点击 Publish 会跳出选项对话框,再设置相关选项即可:
这里提供了两种发布方式,第一是发布到本地(Local folder),二是上传到SlideBoom (SlideBoom也是一个不错的PowerPoint演示分享网站);还可以设置要发布的幻灯片范围,默认是全部幻灯片(All Slides),也可以自定义范围(Selected Slides);