扩展对象:ApplicationContext 优先选择,功能强大比beanfactory
特点
1.预先加载,把对象全部实例化到容器中
2.提供了很多接口(对国际化,事件模型,自动注册等工具)
让容器对我们的bean对象大小改写的例子
写类实现BeanPostPorcessor接口,有初始化之前和初始化之后两个方法
是容器提供的接口,对这两个方法实现我们自己的想法,把容器提供的参数bean对象转成我们的bean类型,容器就会调用。
if(bean instanceof AccountBean){
AccountBean acc=(AccountBean)bean; //也可以是bean代理对象
acc.setName();
} return acc;
在xml中,只声明一下我们写的那个类即可,容器会自动注册的。
<bean class="xxx.我们写的那个类"/>
在作测试类时,用ApplicationContext对象
ApplicationContext factory=new ClassPathXmlApplicationContext("beans/beans.xml");
beanfactory后期处理
BeanfactoryPostProcessor接口类
提供的支持工具1.对属性文件支持 (把经常变化的属性放到属性文件中,便宜维护系统)
PropertyPlaceHolderConfigurer 替换后面的值
PropertyOverrideConfigurer 覆盖一个新的 可以加一个新的
操作:
(1)先建立一个属性文件model.properties 格式: name=tarena
(2)在xml中配置注册一下这个文件
<bean class="org.springframework.beans.PropertyPlaceHolderConfigurer"> //或者用PropertyOverrideConfigurer
<property name="locations">
<list>
<value>包/model.properties</value>
</list>
</property></bean>
(3) 在xml中的name 的value 用${name}得到值
2.对属性编辑器的支持(当属性类型不能简单转换时用到)
customEditorConfigurer
操作:
1.创建一个编辑器类,我们继承一个父类PropertyEditorSupport
覆盖两个方法:输入和输出
2.在xml中配置编辑器
<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
<property name="customEditors">
<map>
<entry key="beanfactorypostprocessor.Address">
<bean class="beanfactorypostprocessor.AddressEditor"/>
</entry>
</map>
</property>
</bean>
事件模型:
由容器发出事件,
applicationContext.publishEvent(new MyApplicationEvent)
在修改属性数据时,想让容器同步数据,则在这个方法中加入上面这个调用。
但是这个方法所在类要实现ApplicationContextAware
它提供的方法是setApplicationContext(ApplicationContext context) 获得容器的上下文对象
还要写MyApplicationEvent 继承ApplicationEvent 来封装实件源 在构造方法中调用资源 super(source)
在xml中声明我们写的bean对象
观察者监听 则要实现接口ApplicationListener
接口的方法由容器调用onApplicationEvent(ApplicationEvent event){
if(event instanceof MyApplicationEvent){
写出事件的处理
}
}
国际化 i18n
ApplicationContext中的方法:
getMessage(String key,object[] args,Locale locale)//获得消息 locale 指定区域
ResourceBundleMessageSource 注册消息源指定那个资源文件(baseNames)
操作:1.创建消息资源文件 show=this is show= /u3404/u3783/ 这是公司 xxx_ZH_CN
// show=this{0}is{1}tarena 用于插入
用native2ascii在命令行回车,把汉字打上再回车即可
2.在测试类中,调用getMessage("show",null,Locale.CHINA)
//getMessage("show",new String[]("-","*"),Locale.US) 用于插入消息中
3.在xml中加上消息注册配置
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>i18n/model</value>
</list>
</property>
AOP 面向方面 重复代码问题
分享到:
相关推荐
2. **Service层**:这是业务逻辑处理的主要场所,使用Spring的DI注入Mapper接口,调用数据库操作方法完成业务处理。 3. **Controller层**:接收前端请求,调用Service层的方法,并将结果返回给前端。 4. **视图层*...
所以把数学辅导管理与现在网络相结合,利用java技术建设数学辅导微信小程序,实现数学辅导的信息化。则对于进一步提高数学辅导管理发展,丰富数学辅导管理经验能起到不少的促进作用。 数学辅导微信小程序能够通过...
《构建基于Spring+Mybatis+MySQL的高考志愿填报辅导系统》 在当今信息化时代,高考志愿填报已经成为一项涉及大量数据分析和决策支持的重要任务。利用现代技术构建高考志愿填报辅导系统,能够为广大学子提供科学、...
线上辅导班-线上辅导班系统-线上辅导班系统源码-线上辅导班管理系统-线上辅导班管理系统java代码-线上辅导班系统设计与实现-基于springboot的线上辅导班系统-基于Web的线上辅导班系统设计与实现-线上辅导班网站-线上...
2. **轻量级**:与EJB容器相比,Spring的IOC容器更轻便,适合各种规模的项目。 3. **技术整合**:Spring集成了多种技术和框架,如ORM、logging、J2EE等,简化了开发工作。 4. **模块化设计**:开发者可以根据需求...
资源名字:基于JSP+Spring+Hibernate+Struts2+mysql的毕业生离校管理系统设计与实现(源码+文档).zip 资源内容:项目全套源码+完整文档 源码说明: 全部项目源码都是经过测试校正后百分百成功运行。 包含模块: ...
2. **MVC(Model-View-Controller)设计模式**:辅导答疑系统很可能采用了MVC架构,将业务逻辑(Model)、用户界面(View)和数据控制(Controller)分离,有利于代码的维护和扩展。Model处理数据,View展示信息,...
2. **Spring Boot**: Spring Boot是Spring框架的一个扩展,旨在简化Spring应用程序的初始设置和常规配置。它内置了Tomcat服务器,自动配置了Spring框架,使得开发过程更加便捷。在学生宿舍管理系统中,Spring Boot为...
该系统包含影院后台管理系统,以及H5前端界面预约下单系统 下单功能,会员管理,影院管理,支付管理 前端技术栈:html5 ElementUI Vue.js ajax 微服务架构: SpringCloud技术栈 数据库:mysql,redis
高校心理教育辅导-高校心理教育辅导系统-高校心理教育辅导系统源码-高校心理教育辅导管理系统-高校心理教育辅导管理系统java代码-高校心理教育辅导系统设计与实现-基于springboot的高校心理教育辅导系统-基于Web的...
java开发基于Android的高校辅导员助手系统源码.zip基于Android的高校辅导员助手,提高辅导员日常办公效率。 后端采用Java、Spring Boot、MyBatis、Redis、JWT、Apache POI开发; Android端为用户提供交互界面; 接入...
(2)学生:学生进入本高校心理教育辅导系统前台可查看系统信息,包括首页、心理健康信息、试卷列表、公告通知以及留言反馈等,注册登录后主要功能模块包括个人中心、辅导预约管理以及考试管理。(3)教师:教师学生...
首先,"ssm数学辅导微信小程序"中的“ssm”通常指的是Spring Boot、Spring MVC和MyBatis这三种技术的组合,它们是Java Web开发中常用的技术栈。Spring Boot简化了微服务的创建,Spring MVC处理HTTP请求和响应,而...
基于 Spring Boot 的线上辅导班系统源码数据库 本资源是一个基于 Spring Boot 框架开发的线上辅导班系统的源码数据库,旨在帮助管理者高效率地处理工作事务和数据信息。该系统利用了 SSM 框架、Java 语言和 Mysql ...
企业的销售要进行培训,由技术人员进行辅导并考评检测培训效果,所以有了这个小系统。实现了系统的登录验证、请求拦截验证、基础模块(用户管理、角色管理、销售管理)、业务模块(评分管理、评分结果)。除了基本的...
标题 "基于Springboot的高校心理教育辅导设计与实现" 提供了一个关于使用JavaEE技术栈,特别是Spring Boot框架,来构建高校心理教育辅导系统的项目。这个项目旨在利用现代Web技术来提升心理教育服务的效率和质量,...