- 博客(72)
- 资源 (4)
- 收藏
- 关注
原创 spring的IOC基于annotation
<br /><br />(不推荐)<br /> 步骤一:先查spring的文档找到annotation-based configuration<br />配置spring的配置文件。先将context的命名空间配上,再<context:annotation-config/>,这句实际上是生成了几个扫描spring自己注解的对象<br />步骤二:添加spring的注解 @Autowired(不推荐使用spring自己的注解)到相应的set方法上<br />注:<br />是按照byType注入的。<br /
2010-11-27 11:04:00 655
原创 spring的bean的生命周期 回调方法
<br /><br /> (不推荐)<br /><bean xxxxx init-method="" destroy-method=""/><br />注:想看到bean销毁 需要 applicationContext.destroy();<br />applicationContext不管scope为prototype类型的bean的销毁,你将看不到destroy方法。<br /> <br />spring也支持JSR-250,java的注解@PostConstruct和@PreDestro
2010-11-27 11:03:00 895
原创 spring 的自动装配 autowire
<br /><br /> <bean name="" class="" autowire=""/><br />byName 按名字自动装配<br />byType 按类型自动装配<br /> 注:也可以在beans总标签上default-autowire=""作为总的配置。<br />这样bean里面有如果有其他的bean作为属性需要setter注入,可以由spring注入。<br />不过并不用的多 因为我们必须很小心。
2010-11-27 11:02:00 549
原创 spring的 集合装配,properties,list,map
<br /><br /> <bean><br /> <br /><property name=""><br /><props><br /><pro key=""></pro><br /><pro key=""></pro><br /></props><br /></property><br /> <br /><property name=""><br /><list><br /><value></value><br /><ref bean=""/><br /></list><br /></property>
2010-11-27 11:00:00 983
原创 IoC 注入类型
<br /><br /> setter注入<br /><bean id="" class=""><br /><property name="" ref=""/><br /></bean><br />construct注入(不常用)<br /><bean id="" class=""><br /><constructor-arg index="0"><br /><bean class=""/><br /></constructor><br /><constructor-arg index="1"><br />
2010-11-27 10:59:00 516
原创 spring bean 的生存范围 单例 还是原型
<br /><br /> <bean id="" class="" scope=""/><br />scope :<br />singleton:单例 (默认)<br />prototype:原型<br /> <br />request,session,global session(非常不常用)
2010-11-27 10:59:00 618
原创 spring 的IoC的几种实现,关于API的一些事儿
<br /><br />Don't call me ,I'll call you!<br />创建对象实例的任务交给IoC容器或框架。<br />IoC的好处:1,应用组件不在需要特定 协助工厂类,如IoC容器中组件对JNDI的查找工作。<br />2,单元测试和集成测试更简单。<br />org.springframework.beans.factory<br />BeanFactory<br />org.springframework.context<br />ApplicationContext
2010-11-27 10:58:00 420
原创 spring 的IoC的几种实现,关于API的一些事儿
<br /><br />Don't call me ,I'll call you!<br />创建对象实例的任务交给IoC容器或框架。<br />IoC的好处:1,应用组件不在需要特定 协助工厂类,如IoC容器中组件对JNDI的查找工作。<br />2,单元测试和集成测试更简单。<br />org.springframework.beans.factory<br />BeanFactory<br />org.springframework.context<br />ApplicationContext
2010-11-27 10:58:00 455
原创 spring的bean的生命周期
<br /><br /> 1,spring通过调用构造器,构造bean<br />2,这个bean里有些对象属性需要通过对应得set方法,依赖注入。<br />(这是我们用IoC的重要原因,由spring来管理各个bean的关系而不是我们硬编码来管理,这也是为什么叫控制反转的原因)<br />(如果实现了InitializingBean执行afterPropertiesSet方法,<br />指定init-method属性,则将调用其指定的方法)<br />3,使用这个bean啦<br />4,spring
2010-11-27 10:58:00 401
原创 spring的bean工厂的产生
<br /><br />http://sourceforge.net/projects/springframework (spring 的下载链接)<br /> <br />Resource resource=new ClassPathResource("appcontext.xml");<br />BeanFactory factory=new XmlBeanFactory(resource);<br />HelloWorld helloWorld =(HelloWorld) factory
2010-11-27 10:57:00 1255
原创 hibernate 的性能优化
<br /><br />一级缓存(session级别的缓存)<br />List<User> users=(List<User>)session.createQuery(SQL);<br />Iterator<User> users=(Iterator<User>)session.createQuery(SQL);<br />List------->直接数据库加载User<br />Iterator----->读出来的是ID------->先在session中找----.>在二级缓存中找(如果提供二级缓存)
2010-11-27 10:56:00 433
原创 补充:1+N问题和缓存算法
<br /><br /> 1+N问题<br />问题描述<br />在manyToOne的关系中,JPA默认的fetch策略是EAGER积极的,因此在查找多方的表的时候会连带查询1方的表。<br />本来是使用join表连接查询一句SQL语句就解决的,但是hibernate不会就行表连接查询,而是先查多方的表发一句SQL,然后根据结果中的外键,一个外键一句SQL去查询1方的表,结果就变成了1+N句SQL语句了。<br />解决方法:<br />方式一:强制改变默认的抓取策略为LAZY<br />方式二:在J
2010-11-27 10:56:00 369
原创 hibernate实现 api调用标准流程
<br /><br /> Configuration cfg=new AnnotationConfiguration(); <br />//这里是annotation的configuration,不是普通的<br />SessionFactory sessionFactory=cfg.configure().buildSessionFactory();<br />Session session=sessionFactory.openSession();<br />session.beginTransa
2010-11-27 10:55:00 497
原创 hibernate初步印象- 工作流程
<br /><br /> hibernate工作流程<br /><br />www.hibernate.org
2010-11-27 10:54:00 441
原创 hibernate 配置
<br /><br /> hibernate用的是日志是slf4j 即simple logging facade for java,<br />slf4j支持匹配各种 日志的实现<br />GA=General Availability<br />slf4j-api-1.5.2.jar -----slf4j api<br />slf4j-log4j-1.5.2.jar -----slf提供的和log4j的适配<br />log4j-1.2.15.jar ------log4j的api<br /
2010-11-27 10:54:00 419
原创 struts2标签
<br /><br /> 通用标签<br /><s:property value="<hr/>" escape="false"/> <br />escape为false表明value不会被解析为HTML<br /><s:property value="OGNL" default=" "/><br /><s:property value=" 'OGNL' " default=" "/> 这样就解析为字符串了<br /><br /><s:set var=" A" value="OGNL
2010-11-27 10:53:00 414
原创 jsp到action的类型转换的问题
<br /><br />?d=1989-08-24<br />?d=1988-11-21 12:39:45<br />以上格式的URL会自动转换为date类型
2010-11-27 10:52:00 476
原创 OGNL表达式
<br /><br />OGNL<br />name //访问action的name普通属性<br />user.name //调用了user的getName<br />user.run() //调用user的run()方法<br />如果要调用静态方法的话必须<br /><constant name="struts.ognl.allowStaticMethodAccess" value="true"></c
2010-11-27 10:52:00 399
原创 struts 2 的Result
<br /><br /> <result type="dispatcher">index.jsp</result><br />dispatcher:默认,服务器forword<br />redirect (重定向,发起新的request)<br />chain (可以跳向另外一个Action)<br />redirectAction (跳向另外一个action,并且发起新的request)<br />stream (下
2010-11-27 10:51:00 397
原创 struts2得到request,session 及action总结
<br /><br /> 第一大类:得到Map类型<br />1,ActionContext.getContext.get("request") //是从值站的actionContext中得到<br />ActionContext.getContext.getSession():Map<br />2,implements SessionAware(推荐)<br />@override<br />setSession(Map session)<br />第二大类:得到如HttpServletRequest
2010-11-27 10:50:00 418
原创 struts2简单验证 与 Acton向jsp传递数据的途径
<br /><br /> 简单验证<br />action内(extends ActionSupport)<br />this.addFieldError("error1","error-message");<br />jsp内<br /><%@taglib uri="/struts-tags" prefix="s"%><br /><s:fielderror fieldName="error1" theme="simple"/><br /><s:property value="errors.name[0]
2010-11-27 10:49:00 508
原创 struts2搭建开发流程要点
<br /><br />1,web.xml中添加如下struts2的过滤器,即所有的servlet请求都过滤<br /> <br /> <display-name>struts2_spring</display-name><br /> <filter><br /> <filter-name>struts2</filter-name> <br /> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecut
2010-11-27 10:48:00 674
原创 WEB层访问会话bean
<br /><br /> 使用依赖注入访问会话bean(无状态)<br />注意:只有受管的类(如:servlet)才可以使用依赖注入,其生命周期由容器管理。<br />不受管的类可以通过JNDI查找的方式得到EJB bean<br />一下说明web层哪些是受管的类的类型注入servlet,过滤器,事件监听器可以JSP 标记处理器,库事件监听器可以JSF管理的bean可以帮助器类,JSP不可以<br />1使用@EJB 注入无状态会话Bean<br />2 当Web访问有状态的会话bean比如servle
2010-11-27 10:45:00 514
原创 EntityManager实体操作
<br /><br />EntityManager<br /> 持久化实体 persist(entity)<br />newEntity-----托管<br />托管-----无效,什么都不发生<br />删除状态------托管<br />游离-----提交时 例外抛出<br />更新实体<br />对实体的setXxx()方法的调用在容器flush时都会更新的<br />合并merge()<br />newEntity----copy一份----copy的那一份托管<br />托管----无效<br /
2010-11-27 10:43:00 740
原创 EJB开发web service
<br /><br />服务端的开发<br />用EJB就行服务端开发是非常简单的,EJB可以把无状态会话bean通过@WebService注解瞬间暴露为web服务。<br />例子<br /> <br />@Stateless<br />@Remote(JsunSer.class)<br />@WebService<br />public class JsunSerImpl implements JsunSer{<br />@WebMethod<br />public String run() {<br
2010-11-27 10:42:00 930
原创 MDB 消息驱动bean开发
<br /><br />MDB用于异步通信,其原理与android中的Intent和IntentFilter类似<br />MDB实际就是个监视特定地点destination的监听器<br />关于消息MDB只关心 消息格式和消息目的<br />JMS异步,安全(确保发送成功且只发送一次消息)<br />JMS像JDBC一样只是一个接口,标准。有P2P和Pub/Sub两种形式<br />消息分为 消息头,消息属性,消息体<br />MDB开发流程。(和MDB通信的唯一手段是将JMS消息发送给MDB正在监听的
2010-11-27 10:41:00 798
原创 JTA 事务管理
<br /><br /> 分为<br />CMT 容器管理事务(推荐)<br />@TransactionManagement(TransactionManagementType.CONTAINER)(类级别注解)<br />CONTAINER指明CMT容器管理事务,BEAN指明BMT管理<br />@TransactionAttribute(TransactionAttributeType.REQUIRED)(方法级别注解)<br /> 非事务性上下文Client事务性上下文ClientREQUIR
2010-11-27 10:40:00 1670
原创 JPQL
<br /><br /> select name ,age from user; //原生SQL语句<br />select u.name,u.age from User u; //JPQL语句<br />select u from User u; //JPQL语句<br />SQL语句是在数据库空间中对字段,列,行进行操作<br />JPQL语句是在EJB实体空间中面向对象,属性进行操作<br />JPQL必须由JPA的JPQL解析器解析为SQL才能执行,必须先获取Query对象<br />参数查询<
2010-11-27 10:39:00 711
原创 实体bean的开发
涉及的注解@Entity(name="") name属性指明了JPQL中使用的实体名@Table(name="xxx")@Id@GeneratedValue(strategy=GenerationType.AUTO)GenerationType.TABLE //会创建一个表 具有序列名和对应值两个字段,易于数据库移植GenerationType.SEQUENCE //支持序列的数据库 如 OracleGenerationType.IDENTITY //使用ID自动增长 如my
2010-11-27 10:38:00 506
原创 对象关系映射
<br /><br /> 双向一对一映射<br />class Card{<br />@OneToOne(optional=false,cascade={CascadeType.MERGE,CascadeType.REMOVE},mappedBy="card",fetch=FetchType.EAGER)<br />Person getPerson(){}<br />}<br />mappedBy 单向关系不需要设置该属性,双向关系必须设置,避免双方都建立外键字段<br />数据库中1对多的关系,关联
2010-11-27 10:38:00 1811
原创 EntityManager的注入
<br /><br /> 第一步:服务器数据源发布 <br />第二步:持久化单元配置<br />persistence.xml 放置到jar包的META-INF<br /> <br /><?xml version="1.0" encoding="UTF-8"?><br /><persistence xmlns="http://java.sun.com/xml/ns/persistence"<br />xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc
2010-11-27 10:37:00 2075
原创 EJB3.0中 持久化层的开发
<br /><br /> EJB3.0中的持久化是有JPA管理的<br />包括三个部分<br />1。实体<br /> <br /> <br />@Entity<br />@Table(name="users")<br />public class User implements Serializable{<br />@Id@GeneratedValue(strategy=GenerationType.AUTO)<br />private int id;<br />@Column(nullable=fal
2010-11-27 10:35:00 597
原创 会话bean 知识补充
<br /><br />1 改变会话bean的JNDI名<br />@Stateless(name="A_Bean") //此处定义的是beanName,注入此bean到其它的bean时会用到<br />@Remote(A.class) <br />@RemoteBinding(jndiBinding="AA") //@Stateless(mappedname=" ")可以统一规定全局jndi名,而不是远程,本地分别各自定义<br />class ABean implements A{
2010-11-27 10:33:00 514
原创 会话bean开发流程
<br /> <br />1 创建接口(最佳实践是创建两个接口A与B,B extends A)<br />interface A{}<br />interface B extends A{}<br />2 创建实现接口的会话bean,<br /> <br />@Stateless / @Stateful ------生成全局JNDI(就是可以被外界访问的JNDI) 两个 HelloWorldBean /remote HelloWorldBean /local<br />@Local(A.class
2010-11-27 10:32:00 414
原创 JBOSS在windows下的环境配置和启动时遇到的错误
1 JDK的安装。(JBoss下载时要分清支持jdk1.5和1.6两种,如jboss-5.0.0.GA-jdk6就是支持JDK1.6的JBoss)JBoss下载链接http://labs.jboss.com/jbossas/downloads/2 配置环境变量JBOSS_HOME指向 如jboss-5.0.0.GA-jdk6 (类似配置JAVA_HOME)3 编辑环境变量Path添加 ;%JBOSS_HOME%/bin; (环境变量Path是为了可以在DOS下直接调用bin里的命令,而不需要特
2010-11-27 10:29:00 596
原创 spring的IOC基于annotation
(不推荐) 步骤一:先查spring的文档找到annotation-based configuration配置spring的配置文件。先将context的命名空间配上,再,这句实际上是生成了几个扫描spring自己注解的对象步骤二:添加spring的注解 @Autowired(不推荐使用spring自己的注解)到相应的set方法上注:是按照byType注入的。还可以在参数上
2010-11-26 17:40:00 620
原创 spring的bean的生命周期 回调方法
(不推荐)注:想看到bean销毁 需要 applicationContext.destroy();applicationContext不管scope为prototype类型的bean的销毁,你将看不到destroy方法。 spring也支持JSR-250,java的注解@PostConstruct和@PreDestroy(推荐)
2010-11-26 16:52:00 527
原创 spring 的自动装配 autowire
byName 按名字自动装配byType 按类型自动装配 注:也可以在beans总标签上default-autowire=""作为总的配置。这样bean里面有如果有其他的bean作为属性需要setter注入,可以由spring注入。不过并不用的多 因为我们必须很小心。
2010-11-26 16:41:00 485
原创 spring bean 的生存范围 单例 还是原型
scope :singleton:单例 (默认)prototype:原型 request,session,global session(非常不常用)
2010-11-26 16:18:00 2009
openfire+connection mananger +strophe.js不兼容修复
2012-05-07
简单干净的,支持JSF2上传的例子
2011-03-21
JSF2.0 的ajax实现的例子,配有详细的中文注释
2011-02-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人