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

网站开发的3个阶段自己做网站服务器多少钱

网站开发的3个阶段,自己做网站服务器多少钱,免费网站安全软件大全免费下载安装,关于加强网站建设工作的意见一、IoC 容器概述 IoC(Inversion of Control,控制反转)容器是 Spring 框架的核心组件之一。它负责创建对象、管理对象的生命周期以及对象之间的依赖关系。通过将对象的创建和管理交给 IoC 容器,开发者可以实现代码的松耦合&#…

IoC 容器与依赖注入

一、IoC 容器概述

IoC(Inversion of Control,控制反转)容器是 Spring 框架的核心组件之一。它负责创建对象、管理对象的生命周期以及对象之间的依赖关系。通过将对象的创建和管理交给 IoC 容器,开发者可以实现代码的松耦合,提高代码的可测试性和可维护性。

二、Spring 的 IoC 容器类型

  • BeanFactory :这是 Spring IoC 容器的核心接口,提供了基本的 IoC 功能。它负责加载 Bean 的定义,并在需要时创建和管理 Bean。BeanFactory 是 Spring 的基础 IoC 容器,适合在资源有限的环境中使用,如 Applet 或移动设备等。
  • ApplicationContext :这是 BeanFactory 的子接口,提供了更多高级的功能,如事件传播、资源加载、国际化等。ApplicationContext 是实际开发中更常用的 IoC 容器实现,它提供了更强大的功能和更方便的编程接口。

三、依赖注入(DI)

依赖注入是 IoC 的实现方式之一,它允许将对象的依赖关系在运行时由 IoC 容器注入到对象中,而不是由对象自己创建或查找依赖对象。Spring 支持多种依赖注入的方式,包括构造方法注入、设值方法注入和字段注入。

1. 构造方法注入

通过构造方法来注入依赖对象。在配置文件中指定 Bean 的构造方法参数,Spring 会在创建 Bean 时调用该构造方法并注入依赖。

示例代码

public class Car {private Engine engine;// 构造方法注入public Car(Engine engine) {this.engine = engine;}// 其他方法
}

XML 配置

<bean id="engine" class="com.example.Engine"></bean>
<bean id="car" class="com.example.Car"><constructor-arg ref="engine"></constructor-arg>
</bean>
2. 设值方法注入

通过 setter 方法来注入依赖对象。在配置文件中指定 Bean 的属性和对应的值,Spring 会调用相应的 setter 方法来设置属性值。

示例代码

public class Car {private Engine engine;// 设值方法注入public void setEngine(Engine engine) {this.engine = engine;}// 其他方法
}

XML 配置

<bean id="engine" class="com.example.Engine"></bean>
<bean id="car" class="com.example.Car"><property name="engine" ref="engine"></property>
</bean>
3. 字段注入

直接在字段上使用注解来注入依赖对象。这种方式不需要编写 setter 方法,依赖关系直接通过字段注解来指定。

示例代码

public class Car {// 字段注入@Autowiredprivate Engine engine;// 其他方法
}

四、Spring 中的 Bean

Bean 是 Spring IoC 容器中管理的对象。开发者可以通过配置文件或注解来定义 Bean 的各种属性和依赖关系。

1. Bean 的定义

在 XML 配置文件中,使用 <bean> 标签来定义 Bean。在注解配置中,使用 @Component@Service@Repository@Controller 等注解来标记类为 Spring 管理的 Bean。

XML 配置示例

<bean id="car" class="com.example.Car"></bean>

注解配置示例

@Component
public class Car {// 类内容
}
2. Bean 的作用域

Spring 提供了多种 Bean 的作用域,包括 singleton、prototype、request、session、globalsession 等。默认情况下,Spring Bean 的作用域是 singleton,即每个 IoC 容器中只有一个 Bean 实例。

示例代码

// 设置 Bean 的作用域为 singleton
@Component
@Scope("singleton")
public class Car {// 类内容
}
3. Bean 的生命周期回调

可以通过配置初始化方法和销毁方法来指定 Bean 的生命周期回调。在 Bean 创建完成后,Spring 会调用初始化方法;在 Bean 销毁之前,Spring 会调用销毁方法。

示例代码

public class Car {public void init() {// 初始化操作}public void destroy() {// 销毁操作}
}

XML 配置

<bean id="car" class="com.example.Car" init-method="init" destroy-method="destroy"></bean>

五、基于注解的配置

从 Spring 2.5 开始,引入了基于注解的配置方式,使得配置更加简洁和直观。常用的注解包括 @Component@Service@Repository@Controller 等,用于标记类为 Spring 管理的 Bean;@Autowired 用于自动注入依赖;@Qualifier 用于指定注入的具体 Bean;@Configuration@Bean 用于定义配置类和 Bean 定义。

1. @Component 及其派生注解

@Component 是一个通用的注解,用于标记一个类为 Spring 管理的 Bean。@Service@Repository@Controller 等是 @Component 的派生注解,分别用于标记服务层、数据访问层和控制层的 Bean。

示例代码

@Component
public class Car {// 类内容
}@Service
public class UserService {// 类内容
}@Repository
public class UserRepository {// 类内容
}@Controller
public class UserController {// 类内容
}
2. @Autowired

@Autowired 用于自动注入依赖。Spring 会自动查找匹配的 Bean 并注入到指定的字段、构造方法或 setter 方法中。

示例代码

public class Car {@Autowiredprivate Engine engine;// 其他方法
}
3. @Qualifier

@Qualifier 用于指定注入的具体 Bean,当存在多个同类型的 Bean 时,可以通过 @Qualifier 来指定注入哪一个 Bean。

示例代码

public class Car {@Autowired@Qualifier("petrolEngine")private Engine engine;// 其他方法
}

XML 配置

<bean id="petrolEngine" class="com.example.PetrolEngine"></bean>
<bean id="dieselEngine" class="com.example.DieselEngine"></bean>
4. @Configuration@Bean

@Configuration 用于标记一个配置类,@Bean 用于在配置类的方法上定义 Bean。

示例代码

@Configuration
public class AppConfig {@Beanpublic Car car() {return new Car();}@Beanpublic Engine engine() {return new Engine();}
}

六、基于 Java 配置

Spring 还支持使用 Java 配置类来替代 XML 配置文件。通过在配置类上使用 @Configuration 注解,并使用 @Bean 注解在方法上定义 Bean,可以实现与 XML 配置相同的功能。

示例代码

@Configuration
public class AppConfig {@Beanpublic Car car() {return new Car();}@Beanpublic Engine engine() {return new Engine();}
}

七、总结

IoC 容器与依赖注入是 Spring 框架的核心特性之一,通过将对象的创建和管理交给 IoC 容器,可以实现代码的松耦合,提高代码的可测试性和可维护性。在实际开发中,可以根据项目的需求灵活选择 XML 配置、注解配置或 Java 配置的方式来定义 Bean 和管理依赖关系。掌握 IoC 容器与依赖注入的使用方法,是深入学习 Spring 框架和构建高质量 Spring 应用的基础。


文章转载自:

http://MTq3TTHz.rfmzc.cn
http://17iwDOEa.rfmzc.cn
http://BQy3mZdn.rfmzc.cn
http://OOrAtZW7.rfmzc.cn
http://eP7ACSDb.rfmzc.cn
http://1y2vHKsl.rfmzc.cn
http://rxCXo5w6.rfmzc.cn
http://bTn2HDRT.rfmzc.cn
http://8wyNgbU6.rfmzc.cn
http://485xUD2o.rfmzc.cn
http://5Az0AsJA.rfmzc.cn
http://WBRovgL4.rfmzc.cn
http://mG6nFJEM.rfmzc.cn
http://EP6xTotZ.rfmzc.cn
http://jaiWeAfM.rfmzc.cn
http://7ltUETH7.rfmzc.cn
http://e2FwIzmD.rfmzc.cn
http://Mt2ZmG1P.rfmzc.cn
http://3VVyb5EH.rfmzc.cn
http://yf8eVw0Y.rfmzc.cn
http://uJVei31Q.rfmzc.cn
http://chIqVfWH.rfmzc.cn
http://yLkShn45.rfmzc.cn
http://BCFShKDP.rfmzc.cn
http://dFHU6f3z.rfmzc.cn
http://DSkZa8xo.rfmzc.cn
http://4pHRwihg.rfmzc.cn
http://dahyoYte.rfmzc.cn
http://YmsAocyf.rfmzc.cn
http://wdzMwAvg.rfmzc.cn
http://www.dtcms.com/wzjs/763647.html

相关文章:

  • 政务网站建设规划培训学做网站要多久
  • 空间有了怎么做网站wordpress 融资
  • WordPress交互式网站网址导航下载到桌面
  • 做论坛网站需要备案视频号推广平台
  • 设计了网站昆明做网站seo的
  • 网站前端建设需要学会什么网络营销与网络推广的关系
  • 如何看网站有没有备案申请邮箱怎么注册
  • 网站app在线生成器wordpress多本小说站出售
  • 游戏网站的设计要做网站到哪里做
  • 深圳企业网站建设服务中心北京vi设计培训
  • 网站备案没通过不了专业网站优化关键词
  • 我要进入手机建设银行网站网站建设 齐鲁软件园
  • 网站qq弹窗代码帝国cms 网站描述的全局变量
  • flash 开发的网站企业做网站哪家好
  • 上海市建设工程检测行业协会网站制作网页和做网站是一个意思吗
  • 手机网站设计报告模板泉州中企动力科技股份有限公司
  • 网站名百度搜不到佛山微网站开发哪家好
  • wordpress 更新过慢wordpress深度优化主题
  • 分析网站的关键词做英雄联盟网站的图片素材
  • 网站建设中asp文件网站排名软件利搜怎么样
  • 厦门 外贸商城网站建设wordpress 标题栏置顶
  • 北京朝阳区哪里有网站开发北流建设局网站
  • 专业做域名的网站深圳市建设局网站金建
  • pc网站建设的优势是什么基础网页制作流程
  • 网站建设设计企业网站建设耂首先金手指
  • 北京 公司网站 备案中 开通访问初学平面设计从哪学起
  • 给个网站能看的好的企业型网站模板下载
  • 网站建设与网页设计pdf免费网站建设阿里云
  • 哈尔滨网站搭建wordpress 大内存
  • 山东网站建设运营wordpress批量上传插件下载