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

html5精美网站windows删除wordpress

html5精美网站,windows删除wordpress,江门网站制作服务,免费商标图案设计logoSpring Framework 作为一个领先的企业级开发框架#xff0c;以其强大的依赖注入#xff08;Dependency Injection#xff0c;DI#xff09;机制而闻名。DI使得开发者可以更加灵活地管理对象之间的关系#xff0c;而不必过多关注对象的创建和组装。在Spring Framework中以其强大的依赖注入Dependency InjectionDI机制而闻名。DI使得开发者可以更加灵活地管理对象之间的关系而不必过多关注对象的创建和组装。在Spring Framework中依赖注入可以分为两种类型根据Bean名称注入、根据Bean类型注入在本文中我们将聚焦于 Spring 中的一种依赖注入方式——按类型注入并通过一个简单的示例来说明其使用和优势。 什么是依赖注入 don’t call us, we’ll call you 依赖注入是一种先进的设计思想它通过外部注入依赖对象来实现组件之间的松耦合。在 Spring 框架中依赖注入的核心实现便是通过控制反转Inversion of ControlIoC容器。IoC 容器负责实例化、配置和组装应用中的对象并在需要时将它们智能地注入到其他对象中。相较于传统的面向对象思想当业务代码变得复杂时通过直接使用 new 进行对象构造对象间的关系容易导致代码耦合度的上升。Spring 通过控制反转巧妙地解决了这一问题运用了好莱坞原则的理念不要给我们打电话我们会给你打电话。这种思想使得代码更加灵活、可维护并促使了更优雅的代码结构。 Spring 中的依赖注入 在 Spring 中依赖注入有多种方式包括构造函数注入、Setter 方法注入、接口注入等。示例中展示的是一种基于 XML 配置的 Setter 方法注入。 构造函数注入的案例 public class UserService {private final EmailService emailService;// 构造函数注入public UserService(EmailService emailService) {this.emailService emailService;}public void sendWelcomeEmail(String username) {String message Welcome, username !;emailService.sendEmail(welcomeexample.com, message);} }Setter 方法注入的案例 public class NotificationServiceClient {private NotificationService notificationService;// Setter 方法注入public void setNotificationService(NotificationService notificationService) {this.notificationService notificationService;}public void sendNotification(String message) {notificationService.notifyUser(message);} }接口注入的案例 public class LoggingService {private Logger logger;// 接口注入public void setLogger(Logger logger) {this.logger logger;}public void logMessage(String message) {logger.log(message);} }在本文中以知名IP小马哥在《小马哥讲 Spring 核心编程思想》中使用的代码案例展开。 Github源码 GeekTime dependency-injection-context.xml !-- 通过导入复用 dependency-lookup-context.xml -- import resourcedependency-lookup-context.xml/!-- Auto-Wiring: 按类型注入 -- bean iduserRepository classorg.thinging.in.spring.ioc.overview.repository.UserRepository autowirebyType /beandependency-lookup-context.xml: ?xml version1.0 encodingUTF-8? beansxmlnshttp://www.springframework.org/schema/beansxmlns:contexthttp://www.springframework.org/schema/contextxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsd!-- context:annotation-config/--!-- context:component-scan base-packageorg.acme /--!-- Root BeanDefinition 不需要合并不存在 parent --!-- 普通 beanDefinition GenericBeanDefinition --!-- 经过合并后 GenericBeanDefinition 变成 RootBeanDefinition --bean iduser classorg.geekbang.thinking.in.spring.ioc.overview.domain.Userproperty nameid value1/property namename value小马哥/property namecity valueHANGZHOU/property nameworkCities valueBEIJING,HANGZHOU/property namelifeCitieslistvalueBEIJING/valuevalueSHANGHAI/value/list/propertyproperty nameconfigFileLocation valueclasspath:/META-INF/user-config.properties//bean!-- 普通 beanDefinition GenericBeanDefinition --!-- 合并后 GenericBeanDefinition 变成 RootBeanDefinition并且覆盖 parent 相关配置--!-- primary true , 增加了一个 address 属性 --bean idsuperUser classorg.geekbang.thinking.in.spring.ioc.overview.domain.SuperUser parentuserprimarytrueproperty nameaddress value杭州//beanbean idobjectFactory classorg.springframework.beans.factory.config.ObjectFactoryCreatingFactoryBeanproperty nametargetBeanName valueuser//bean /beans在这个例子中我们通过 XML 配置文件导入了 dependency-lookup-context.xml并配置了一个名为 userRepository 的 UserRepository Bean并通过 autowire“byType” 实现了自动按类型注入。这样Spring 容器会在运行时查找并注入与 UserRepository 类型匹配的 User 对象。 UserRepository 类 public class UserRepository {/*** 自定义Bean*/private CollectionUser users;public CollectionUser getUsers() {return users;}public void setUsers(CollectionUser users) {this.users users;} }UserRepository 类中定义了一个名为 users 的集合属性并提供了相应的 Getter 和 Setter 方法。通过 Setter 方法我们可以在 Spring 容器中配置的时候注入一组 User 对象。 主程序 public static void main(String[] args) {// 配置 XML 配置文件// 启动 Spring 应用上下文BeanFactory beanFactory new ClassPathXmlApplicationContext(classpath:/META-INF/dependency-injection-context.xml);UserRepository userRepository beanFactory.getBean(userRepository, UserRepository.class);System.out.println(userRepository.getUsers()); }在主程序中我们通过 ClassPathXmlApplicationContext 加载了 XML 配置文件获取了名为 userRepository 的 UserRepository Bean并输出了其中包含的 User 对象集合。 结论 通过这个简单的示例我们了解了 Spring Framework 中依赖注入的基本原理。依赖注入通过控制反转容器实现使得应用程序中的对象不再负责管理自己的依赖关系而是由 IoC 容器负责。这种设计模式降低了组件之间的耦合度提高了代码的可测试性和可维护性是 Spring 成功的关键之一。在实际项目中我们可以根据需求选择适合的依赖注入方式使代码更加清晰、灵活且易于维护。 后续内容文章持续更新中… 近期发布。 关于我 你好我是Debug.c。微信公众号种颗代码技术树 的维护者一个跨专业自学Java对技术保持热爱的bug猿同样也是在某二线城市打拼四年余的Java Coder。 在掘金、CSDN、公众号我将分享我最近学习的内容、踩过的坑以及自己对技术的理解。 如果您对我感兴趣请联系我。 若有收获就点个赞吧喜欢原图请私信我。
http://www.w-s-a.com/news/986257/

相关文章:

  • 网页设计模板网站免费珠海视窗网
  • 茂名模板建站定制WordPress注册不提示
  • 陕西营销型手机网站建设深圳制作网站服务
  • 受欢迎的锦州网站建设Wordpress 图片左右滑动
  • 湖南优化网站建设线上网站建设需求
  • 建什么类型的网站访问量比较大哪些外包公司比较好
  • php网站地图外贸建站哪家强外贸网站怎么做
  • 宁波五金网站建设中国建筑网官网投诉查询
  • 哪个网站注册域名便宜免费流程图制作网站
  • 潍坊做网站南宁网站seo优化公司
  • 网站建设的基本技术步骤无网站营销
  • 我国旅游网站的建设网站开发 混合式 数据库
  • 淘宝客网站域名家居网站开发项目计划书
  • 网站打不开显示asp苏州注册公司需要多少钱
  • 凡科建站登录官网wordpress主题有什么用
  • 西安双语网站建设怎么做网页动图
  • 宝安自适应网站建设无锡新区企业网站推广
  • 肇庆建设局网站cpanel 安装wordpress
  • 长春启做网站多少怎样换wordpress域名
  • 山西网站建设情况汇总vs2010 c 建设网站
  • 网站推广策划书 精品深圳市住建局和建设局官网
  • 住房和城乡建设部干部学院网站一般做公司网站需要哪几点
  • 网站制作流程详解(学做网站第一步)免费个人网站模版ps
  • 狮山网站建设公司微信平台软件开发
  • 绥芬河网站建设学网站开发的能找什么工作
  • 网站域名申请之后如何做网站微信公众号网页版登录入口
  • 网站优化图片省级精品课程网站
  • 婚纱摄影的网站模板怎么做网站自己当站长
  • 江西建设部网站wordpress弹出式广告
  • 工商年检在哪个网站做中国建设银行个人登录