Spring IoC容器--入门 二

一 ApplicationContext简介

    ApplicationContext除了包含BeanFactory的所有功能外,还提供了更完善的框架功能,比如国际化支持,资源访问和事件传递等

    ApplicationContext继承于ListableBeanFactory,HierarchicalBeanFactory,MessageSource,

ApplicationEventPublisher,ResourcePatternResolver。其中ListableBeanFactory和HierarchicalBeanFactory前面已经介绍过,我们现在着重看后面三个与ApplicationContext本身。

二 MessageSource

   Spring利用MessageSource接口实现国际化。

   MessageSource接口的主要包括了三个取得消息的方法,细化了取消息操作的不同需求。一种默认消息,不报一场;一种没有默认 消息,要抛出异常;还有一种用MessageSourceResolvable封装需要传递的参数,封装的参数包括默认的消息,为了防止无效的默认消息,还是提供了异常。

   String getMessage(String code, Object[] args, String defaultMessage, Locale locale);
   假如我们现在定义了一个资源文件,其中一项配置为

   msg.argument.required={0}\u\u4E\u5FC5\u586B\u9879\!         #{0}是个必填项!

   其中code就对应于“msg.argument.required”,而args则对应于{0},defalutMessage表示默认消息,如果取得消息失败,则采用默认消息

   String getMessage(String code, Object[] args, Locale locale) throws NoSuchMessageException;
   String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException;

三 ApplicationEventPublisher

   Spring利用ApplicationEventPublisher接口实现事件传播。

   ApplicationEventPublisher接口只定义了一个方法:

   void publishEvent(ApplicationEvent event);
   通过这个方法,可以将event通知到系统内所有的ApplicationListener

四 ResourcePatternResolver

   Spring通过ResourceLoader加载资源路径,而ResourcePatternResolver继承于ResourceLoader。

   使用ResourcePatternResolver加载资源默认是在classpath路径下寻找

   String CLASSPATH_ALL_URL_PREFIX = "classpath*:";

   根据正则表达式匹配资源

   Resource[] getResources(String locationPattern) throws IOException;

五 ApplicationContext

   1  ApplicationContext包括的主要方法有:
     查找这个ApplicationContext的唯一Id
     String getId();
     返回Application上下文的名字
     String getDisplayName();
     返回Application上下文第一次加载的时间
     long getStartupDate();
     返回Application上下文的父类上下文,如果没有父类并且是上下文分层中的根,返回null
     ApplicationContext getParent();
     暴露Application上下文中AutowireCapableBeanFactory中的功能
     AutowireCapableBeanFactory getAutowireCapableBeanFactory() throws IllegalStateException;
  2 加载spring配置文件的方法

    1)如果配置文件放在类路径下,则优先使用ClassPathXmlApplicationContext实现类,如下所示:

       ApplicationContext ctx=new ClassPathXmlApplicationContext("classpath:beans.xml");
    2)如果配置文件放在文件系统的路径下,则优先使用FileSystemXmlApplicationContext实现类,如下所示:

       ApplicationContext ctx1=new FileSystemXmlApplicationContext("com/swust/context/beans.xml");

    3)Spring 3中支持基于类注解的配置方式,一个标注了@Configuration注解的POJO就可提供Spring需要的Bean配置信息,所以Spring提供了专门的ApplicationContext实现类:AnnotationConfigApplicationContext,如下所示:

      ApplicationContext ctx=new AnnotationConfigApplicationContext(Beans.class);

      Beans.class表示一个用@Configuration注解的类

    4)WebApplicationContext是专门为web应用准备的,它允许从相对于web根目录的路径中装配配置文件。但是它与BeanFactory和ApplicationContext的区别在于:他需要先启动web容器。使用XmlWebApplicationContext实现类启动spring容器。





   

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于微信小程序的家政服务预约系统采用PHP语言和微信小程序技术,数据库采用Mysql,运行软件为微信开发者工具。本系统实现了管理员和客户、员工三个角色的功能。管理员的功能为客户管理、员工管理、家政服务管理、服务预约管理、员工风采管理、客户需求管理、接单管理等。客户的功能为查看家政服务进行预约和发布自己的需求以及管理预约信息和接单信息等。员工可以查看预约信息和进行接单。本系统实现了网上预约家政服务的流程化管理,可以帮助工作人员的管理工作和帮助客户查询家政服务的相关信息,改变了客户找家政服务的方式,提高了预约家政服务的效率。 本系统是针对网上预约家政服务开发的工作管理系统,包括到所有的工作内容。可以使网上预约家政服务的工作合理化和流程化。本系统包括手机端设计和电脑端设计,有界面和数据库。本系统的使用角色分为管理员和客户、员工三个身份。管理员可以管理系统里的所有信息。员工可以发布服务信息和查询客户的需求进行接单。客户可以发布需求和预约家政服务以及管理预约信息、接单信息。 本功能可以实现家政服务信息的查询和删除,管理员添加家政服务信息功能填写正确的信息就可以实现家政服务信息的添加,点击家政服务信息管理功能可以看到基于微信小程序的家政服务预约系统里所有家政服务的信息,在添加家政服务信息的界面里需要填写标题信息,当信息填写不正确就会造成家政服务信息添加失败。员工风采信息可以使客户更好的了解员工。员工风采信息管理的流程为,管理员点击员工风采信息管理功能,查看员工风采信息,点击员工风采信息添加功能,输入员工风采信息然后点击提交按钮就可以完成员工风采信息的添加。客户需求信息关系着客户的家政服务预约,管理员可以查询和修改客户需求信息,还可以查看客户需求的添加时间。接单信息属于本系统里的核心数据,管理员可以对接单的信息进行查询。本功能设计的目的可以使家政服务进行及时的安排。管理员可以查询员工信息,可以进行修改删除。 客户可以查看自己的预约和修改自己的资料并发布需求以及管理接单信息等。 在首页里可以看到管理员添加和管理的信息,客户可以在首页里进行家政服务的预约和公司介绍信息的了解。 员工可以查询客户需求进行接单以及管理家政服务信息和留言信息、收藏信息等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值