当前位置:  编程技术>移动开发
本页文章导读:
    ▪Spring对Bean的治理        Spring对Bean的管理 (1)用BeanWrapper管理Bean 示例:                   Class object=Class.forName("com.wl.Helloworld").newInstance();                         BeanWrapper bw=new BeanWrapperImpl(object);           .........
    ▪ 解决ListView、gridview滚动过程中checkbox错位有关问题        解决ListView、gridview滚动过程中checkbox错位问题 问题:在ListView、gridview滚动过程中checkbox错位问题 解决办法:在adapter中给checkbox添加监听事件之前。设置成: (1)checkBox.setOnCheckedChangeListener(null.........
    ▪ Spring中AOP的3个主要概念       Spring中AOP的3个重要概念 在理解了Spring的AOP后,需要重点理解的三个概念是:Pointcut    Advice   Advisor (1)切入点  Pointcut                在介绍Pointcut之前,有必要先介绍  Join  Point(连.........

[1]Spring对Bean的治理
    来源: 互联网  发布时间: 2014-02-18
Spring对Bean的管理

(1)用BeanWrapper管理Bean 示例:

                  Class object=Class.forName("com.wl.Helloworld").newInstance();

                        BeanWrapper bw=new BeanWrapperImpl(object);

                       bw.setPropertyValue("msg","Helloworld");

                        bw.setPropertyValue("date",new Date());

(2)用BeanFactory管理Bean 实际上BeanFactory是实例化、配置和管理众多Bean的“容器”

                 BeanFactory是一个接口,有多个实现,但是最常用的是XmlBeanFactory

          示例:             ClassPathResource res=new ClassPathResource("config.xml");

                          XmlBeanFactory factory=new XmlBeanFactory(res);

                           HelloWorld helloworld=(HelloWorld)facotry.getBean("HelloWorld");

(3)使用ApplictionContext管理Bean ApplicationContext是建立在BeanFactory的基础之上的,

          增加了其它的功能:国际化、资源访问、事件传递等。

           示例:ApplicationContext actx=new FileSystemXmlApplicationContext("config.xml");

                      HelloWorld helloworld=actx.getBean("HelloWorld");

------------------------------------------------------------------------------------------------------------------------------------

  ApplictionContext的国际化支持

示例:   在config.xml文件中定义如下的Bean  

         <bean id="messageSource"<!--名字必须为这个,不可以改-->            >

            <property name="basename">
<!--国际化支持的文件定义在名为messages的文件中-->message.properties或者是message.class
              <value>messages</value>
            </property>
        </bean>
<!--国际化支持的文件定义在名为messages的文件中-->

            message.properties中 HelloWorld=问候语:{0} 时间{1}

       测试代码: ApplicationContext actx=new FileSystemXmlApplicationContext("config.xml");

                         Object[] objs=new Object{"helloworld",Calendar.getInstance().getTime()};

                          String msg=actx.getMessage("HelloWorld",objs,Locale.CHINA);

  <!--可能会出现问题,尽管指定了Locale.CHINA。此时可以用命令进行转换:native2ascii messages.properties messages.txt     然后把messages.txt中的内容复制到原来messages.properties文件中,再次输出结果就会正常显示中文-->

<!--可能会出现问题,尽管指定了Locale.CHINA。此时可以用命令进行转换:native2ascii messages.properties messages.txt 然后把messages.txt中的内容复制到原来messages.properties文件中,再次输出结果就会正常显示中文-->

ApplictionContext的资源访问

 ApplicationContext接口继承了ResourceLoader接口,开发人员可以使用getResourece()来指定资源文件的URL来存取

ApplicationContext对资源文件的存取在设定“资源文件的路径”上有3中方式:

        (1)通过虚拟路径来存取,如果资源文件位于CLASSPATH下,

              示例:ApplicationContext actx=new FileSystemXmlApplicationContext("config.xml");

                        Resource  resource=actx.getResource("classpath: messages.properties");

                       注意:这里的classpath是spring约定的URL虚拟路径

         (2)通过实际路径来存取,指定标准的URL 。如:file:或者http:

               示例:ApplicationContext actx=new FileSystemXmlApplicationContext("conf.xml");

                  Resource resource=actx.getResource("file:d:/eclipse/workspace/me.properties");

           (3)通过相对路径来存取        

                      ApplicationContext actx=new FileSystemXmlApplicationContext("config.xml");

                       Resource resource=actx.getResource("WEB-INF/src/messages.properties"):

     取得一个Resource后,便可用getFile()来存取文件,exist()判断是否存在等等。

 ------------------------------------------------------------------------------------------------------------------------------------

ApplictionContext的事件传递

ApplicationContext中的事件处理是通过ApplicationEvent类和ApplicationListener接口来提供的,通过ApplicationEvent的publisEvent来通知ApplicationListener

        示例: 一  定义一个LogEvent  extends ApplicationEvent ,然后这个类被ApplicationContext发布出去

                    二    LogListener  implements ApplicationListener    那么ApplicationContext会在发布LogEvent事件时,通知LogListener。

                     三     Log implements ApplicationContextAware通过publisEvent(),带入LogEvent,来通知LogListener。

                 

具体代码在spring从入门到精通3的第10页  附件中有相应的代码截图

 

 


    
[2] 解决ListView、gridview滚动过程中checkbox错位有关问题
    来源: 互联网  发布时间: 2014-02-18
解决ListView、gridview滚动过程中checkbox错位问题

问题:在ListView、gridview滚动过程中checkbox错位问题

解决办法:在adapter中给checkbox添加监听事件之前。设置成:

(1)checkBox.setOnCheckedChangeListener(null);设置完成后,

(2)在添加checkbox的监听事件:

checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//TODO
}
});

这样就可以解决listview在滚动过程中checkbox错位问题。

我是在http://stackoverflow.com/这里找到的解决办法,在这里记录下用来以后学习用。

 


    
[3] Spring中AOP的3个主要概念
    来源: 互联网  发布时间: 2014-02-18
Spring中AOP的3个重要概念

在理解了Spring的AOP后,需要重点理解的三个概念是:Pointcut    Advice   Advisor

(1)切入点  Pointcut

               在介绍Pointcut之前,有必要先介绍  Join  Point(连接点)概念。

                          连接点:程序运行中的某个阶段点,比如方法的调用、异常的抛出等。比如方法doSome();

               Pointcut是JoinPoint的集合,它是程序中需要注入Advice 的位置的集合,指明Advice要在什么样的条件下才能被触发。

                org.springframework.aop.Pointcut接口用来指定到特定的类和方法,

                 //源代码

                   public Interface Pointcut{

                      //用来将切入点限定在给定的目标类中

                     ClassFilter   getClassFilter();

                      //用来判断切入点是否匹配目标类的给定的方法

                      MethodMatcher  getMethodMatcher();

                       

                        Pointcut   TRUE=TruePointcut.INSTANCE;

                   }

                   在Pointcut接口中主要有两个接口:ClassMatcher和MethodMatcer,有利于代码的重用。

(2)通知Advice

  它是某个连接点所采用的处理逻辑,也就是向连接点注入的代码。例如:输出的日志信息   就是一个Advice

(3)Advisor

       Advisor是Pointcut和Advice的配置器,它包括Pointcut和Advice,是将Advice注入程序中Pointcut位置的代码

 

 

 

 

 

 

 

 

 

 


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现Back功能代码片段总结 iis7站长之家
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3