当前位置: 首页 > news >正文

中国网站排名前100丈哥seo博客工具

中国网站排名前100,丈哥seo博客工具,无限元宝网页传奇,网站建设外包合同在Spring中基于Java类进行配置的完整步骤发布于 2020-7-7|复制链接基于Java配置选项#xff0c;可以编写大多数的Spring不用配置XML#xff0c;下面前言JavaConfig 原来是 Spring 的一个子项目#xff0c;它通过 Java 类的方式提供 Bean 的定义信息#xff0c;在 Spring4 的…在Spring中基于Java类进行配置的完整步骤发布于 2020-7-7|复制链接基于Java配置选项可以编写大多数的Spring不用配置XML下面前言JavaConfig 原来是 Spring 的一个子项目它通过 Java 类的方式提供 Bean 的定义信息在 Spring4 的版本 JavaConfig 已正式成为 Spring4 的核心功能 。本文将详细介绍关于Spring中基于Java类进行配置的相关内容下面话不多说了来一起看看详细的介绍吧1 定义 Bean普通的 POJO 只要标注了 Configuration 注解就可以为 Spring 容器提供 Bean 的定义信息。javaConfigurationpublic class SystemConfig {/*** 定义 Bean并实例化** return*/Beanpublic UserDao userDao() {return new UserDao();}Beanpublic DeptDao deptDao() {return new DeptDao();}/*** 定义 UserService并把之前定义的 UserDao 与 DeptDao 注入进来** return*/Beanpublic UserService userService() {UserService service new UserService();service.setUserDao(userDao());service.setDeptDao(deptDao());return service;}}这个类的方法标注了 Bean 注解即为定义 Bean Bean 的类型由方法返回值的类型决定名称默认和方法名同名也可以通过入参显示指定 Bean 名称比如 Bean(name”xxx”)。 Bean 所标注的方法体提供了 实例化 Bean 的逻辑 。以上配置和下面的 xml 是等效的java基于 Java 类的配置方式和基于 XML 或者基于注解的配置方式相比——Java 类的配置方式通过代码编程的方式可以更加灵活地实例化 Bean 和装配 Bean 之间的关系。XML 或者基于注解的方式都是通过声明来定义配置的所以灵活性上要逊一些但在配置上更简单 。因为 Configuration 注解类本身已经标注了 Component所以这些类可以像那些普通的 Bean 一样被注入到其他的 Bean 中。javaConfigurationpublic class ApplicationConfig {Autowiredprivate SystemConfig systemConfig;Beanpublic AuthorityService authorityService() {AuthorityService service new AuthorityService();service.setUserDao(systemConfig.userDao());service.setDeptDao(systemConfig.deptDao());return service;}}Spring 会对配置类中所有标注了 Bean 的方法使用 AOP 增强引入 Bean 的生命周期管理逻辑。比如上面的 systemConfig.userDao()它返回的是对应 Bean 的单例。在 Bean 中我们还可以通过标注 Scope 注解来控制 Bean 的作用范围javaScope(prototype)Beanpublic DeptDao deptDao() {return new DeptDao();}这样每次调用 deptDao() 方法都会返回一个新的实例javaassertNotSame(authorityService.getDeptDao().hashCode(),authorityService.getDeptDao().hashCode());注意 使用基于 Java 类进行配置类路径下必须有 Spring AOP 与 CGLib 库。2 启动 Spring 容器2.1 只使用 Configuration 类可以使用 AnnotationConfigApplicationContext 类的构造函数传入标注了 Configuration 的 Java 类来启动 Spring 容器 。javaApplicationContext contextnew AnnotationConfigApplicationContext(SystemConfig.class);UserService userService (UserService) context.getBean(userService);assertNotNull(userService);如果存在多个 Configuration 配置类那么可以 AnnotationConfigApplicationContext 中注册它们然后再通过刷新容器应用这些配置类javaAnnotationConfigApplicationContext contextnew AnnotationConfigApplicationContext();//注册多个配置类context.register(SystemConfig.class);context.register(ApplicationConfig.class);//刷新容器(应用这些配置类)context.refresh();ApplicationConfig configcontext.getBean(ApplicationConfig.class);assertNotNull(config);也可以通过 Import 将多个配置类组装到一个配置类中然后仅需注册这个组装好的配置类 即可启动容器javaConfigurationImport(SystemConfig.class)public class ApplicationConfig2 {Autowiredprivate SystemConfig systemConfig;Beanpublic AuthorityService authorityService() {AuthorityService service new AuthorityService();service.setUserDao(systemConfig.userDao());service.setDeptDao(systemConfig.deptDao());return service;}}单元测试javaAnnotationConfigApplicationContext contextnew AnnotationConfigApplicationContext(ApplicationConfig2.class);ApplicationConfig2 configcontext.getBean(ApplicationConfig2.class);assertNotNull(config);final AuthorityService authorityService config.authorityService();assertNotNull(authorityService.getDeptDao());assertNotSame(authorityService.getDeptDao().hashCode(),authorityService.getDeptDao().hashCode());2.2 使用 XML 文件引用 Configuration 类的配置标注了 Configuration 的配置类也是一个 Bean所以它也可以被 Spring 的 扫描到 。 因此如果希望将配置类组装到 XML 的配置文件中并通过 XML 的配置文件启动 Spring那么仅需要在 XML 中通过 扫描到相应的配置类即可 。java2.3 在 Configuration 类中引用 XML 文件的配置在 Configuration 配置类中可以直接通过 ImportResource 引入 XML 的配置文件这样就可以直接通过 Autowired 引用 xml 配置文件中定义的 Bean。配置文件xmlConfiguration 类javaImportResource(classpath:beans5-11.xml)Configurationpublic class ServiceConfig {BeanAutowiredpublic RelationService relationService(GroupDao groupDao,RoleDao roleDao){RelationService servicenew RelationService();service.setGroupDao(groupDao);service.setRoleDao(roleDao);return service;}}单元测试javaAnnotationConfigApplicationContext contextnew AnnotationConfigApplicationContext(ServiceConfig.class);ServiceConfig configcontext.getBean(ServiceConfig.class);assertNotNull(config);RelationService serviceconfig.relationService((GroupDao) context.getBean(groupDao),(RoleDao) context.getBean(roleDao));assertNotNull(service.getRoleDao());
http://www.huolong8.cn/news/208387/

相关文章:

  • 奇趣网做网站wordpress短代码转php
  • 建设工程网站教程如何为网站开发app
  • 网站界面设计实训报告网站优化需要什么软件
  • 福建省网站备案用户注销(删除)备案申请表如何申请百度定位地址
  • 教育培训类网站建设与维护温州网站升级
  • 小网站关键词搜什么网络优化基础知识
  • 学校建设网站费用申请在哪个网站可以学做甜点
  • 开发网站多少钱一个月销售型网站如何做推广
  • 建网站的英文大型网页游戏开发
  • iis怎么使用来建设一个网站上海网站搜索排名优化哪家好
  • 潍坊响应式网站建设要多久潜江网站搭建
  • 网站建设需求报告小程序制作视频教程
  • 华汇建设集团有限公司网站企业网站模板优化
  • 网站的建设时间表成都网页设计培训学校排名
  • 设计建设网站哪家好网站做程序员
  • 北京丰台网站建设网站建设说明书模板
  • 怎么自己免费创建网站汕头市企业网站建设教程
  • 网站开发技术案例个人网站设计与实现源码
  • 国泰君安官方网站建设集团平台公司是什么意思
  • 网站开发工具与环境删除windows wordpress
  • 手机网站开发教程pdf梓潼网站建设
  • 洛阳建设部官方网站软件ui设计培训学校
  • frp做网站gg模板网
  • 深圳印刷网站建设重庆房地产信息官网
  • 河北省城乡住房建设厅网站国家城乡与住房建设部网站
  • 上海网站建设的企wordpress 电台网站
  • 广告设计接单网站网站建设项目规划书
  • 企业首页网站属于什么类型网站微信开放平台官方网站
  • 网站建设 诺德中心临清建网站
  • 深圳做外贸网站哪家好咋做黄页网站