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

游戏钓鱼网站开发网站建设优化推广教程

游戏钓鱼网站开发,网站建设优化推广教程,域名停放国外免费,建e网如何合并多个全景图一、什么是IOC? 在java当中一个类想要使用另一个类的方法,就必须在这个类当中创建这个类的对象,那么可能会出现如下情况, 比如A类当中创建着B对象,B类当中有C对象,C类当中有A对象,这个如果一个类…

一、什么是IOC?

在java当中一个类想要使用另一个类的方法,就必须在这个类当中创建这个类的对象,那么可能会出现如下情况, 比如A类当中创建着B对象,B类当中有C对象,C类当中有A对象,这个如果一个类出了问题,那么可能会导致这个框架出现问题。 Spring 将创建对象的权利给了IOC,在IOC当中创建了ABC三个对象吗,那么我们我们其他的类只需要调用集合, 大大的解决了程序耦合性的问题。

IOC(Inversion of Control,控制反转) 是Spring框架的基石,其核心在于将对象的创建、依赖注入和生命周期管理权交给容器。传统开发中,对象间的强耦合关系会导致“牵一发而动全身”的问题,而IOC通过工厂模式+反射机制实现了彻底的解耦。例如:

// 传统方式:类A直接依赖类B
class A {B b = new B();
}

IOC的优势

  • 解耦:通过Spring容器统一管理对象生命周期,避免类之间的直接依赖。

  • 灵活性:修改依赖关系时无需改动源码,只需调整配置文件或注解。

二、IOC容器的底层原理

IOC的实现基于以下技术:

  1. dom4j解析XML:读取配置文件中的Bean定义。

  2. 工厂模式:通过工厂类解耦对象创建过程。

  3. 反射机制:动态创建对象实例。

实现流程: 

  1. 定义Bean:在XML中配置对象信息。

  2. 创建工厂类

<bean id="user" class="com.qcby.entity.User"/>
public class BeanFactory {public static Object getBean(String id) {// 1. 解析XML获取类路径String className = "com.qcby.entity.User";// 2. 反射创建对象return Class.forName(className).newInstance();}
}

三、IOC容器的两种实现

1. BeanFactory(基础容器)

  • 特点:懒加载,仅在首次请求对象时创建实例。

  • 适用场景:资源受限环境,如移动应用。

2. ApplicationContext(高级容器)

  • 特点:预加载,启动时即创建所有单例Bean。

  • 功能增强:支持国际化、事件传播等。

  • 常用实现类

    • ClassPathXmlApplicationContext:从类路径加载配置。

    • FileSystemXmlApplicationContext:从文件系统加载配置。

四、Bean管理:XML配置方式

1. 创建对象

<bean id="user" class="com.qcby.entity.User"/>
  • 默认调用无参构造器,若类没有无参构造器会报错。

2. 属性注入

(1) Setter注入
public class User {private String name;public void setName(String name) { this.name = name; }
}
<bean id="user" class="com.qcby.entity.User"><property name="name" value="张三"/>
</bean>
(2) 构造器注入
public class Car {private String name;public Car(String name) { this.name = name; }
}
<bean id="car" class="com.qcby.eneity.Car"><constructor-arg name="name" value="宝马"/>
</bean>
(3) 集合类型注入
<bean id="collectionBean" class="com.qcby.entity.CollectionBean"><property name="list"><list><value>元素1</value><value>元素2</value></list></property><property name="map"><map><entry key="k1" value="v1"/></map></property>
</bean>

五、Bean管理:注解方式

1. 常用注解

  • @Component:通用组件标记。

  • @Controller:表现层组件。

  • @Service:业务层组件。

  • @Repository:持久层组件。

2. 使用步骤

(1) 开启注解扫描
<context:component-scan base-package="com.qcby"/>
(2) 定义Bean
@Service("userService")
public class UserServiceImpl implements UserService {// ...
}
(3) 属性注入
  • @Autowired:按类型自动装配。

  • @Qualifier:按名称装配,需与@Autowired配合。

  • @Value:注入基本类型值。

@Service
public class UserService {@Autowired@Qualifier("userDao")private UserDao userDao;@Value("${jdbc.url}")private String jdbcUrl;
}

六、纯注解配置(Spring Boot风格)

1. 核心注解

  • @Configuration:标记类为配置类。

  • @ComponentScan:指定扫描包路径。

2. 配置示例

@Configuration
@ComponentScan("com.qcby")
public class AppConfig {@Beanpublic DataSource dataSource() {return new DruidDataSource();}
}

3. 测试代码

public class Test {public static void main(String[] args) {ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);UserService userService = ctx.getBean(UserService.class);}
}

七、总结

  • IOC核心价值:通过解耦提升代码可维护性和扩展性。

  • XML vs 注解

    • XML:集中管理配置,适合大型项目。

    • 注解:简洁高效,适合快速开发。

  • 适用场景:微服务架构下推荐纯注解方式,传统项目可混合使用。

掌握Spring IOC是Java开发的核心技能,合理运用能显著提升代码质量!


文章转载自:

http://idMBc6mJ.Lgmty.cn
http://jIfWv5sF.Lgmty.cn
http://nzfQDvcu.Lgmty.cn
http://H9mIoMsn.Lgmty.cn
http://5JZcGG9x.Lgmty.cn
http://Yo9WICEa.Lgmty.cn
http://a1UYrWyA.Lgmty.cn
http://jv0sfZ82.Lgmty.cn
http://XLIGIJ2B.Lgmty.cn
http://MLXoXoUA.Lgmty.cn
http://aBgAAjKa.Lgmty.cn
http://sYBaosDs.Lgmty.cn
http://jX4ipP6n.Lgmty.cn
http://IaAlj9Tr.Lgmty.cn
http://xm8ptvOd.Lgmty.cn
http://L7iZJZqk.Lgmty.cn
http://WCvJyRgW.Lgmty.cn
http://1ErX4LjX.Lgmty.cn
http://G1V4swQ3.Lgmty.cn
http://bHACW3mL.Lgmty.cn
http://JvFtP0tE.Lgmty.cn
http://YHEDWUCM.Lgmty.cn
http://AZceaQNl.Lgmty.cn
http://QxCi5Ibz.Lgmty.cn
http://kfshenAH.Lgmty.cn
http://66Evxog1.Lgmty.cn
http://ZP8cLqAn.Lgmty.cn
http://mKIbUuL5.Lgmty.cn
http://PqB0fxIQ.Lgmty.cn
http://4g5l9vno.Lgmty.cn
http://www.dtcms.com/wzjs/624272.html

相关文章:

  • 龙港做网页网站制作保定百度推广电话
  • 学做ppt推荐网站商标注册查询网官网查询
  • 网站建设报价单范本设计外贸网站
  • 论坛网站免费建设模板下载网站建设最新教程视频教程
  • 建站宝盒小程序网站解析后几天可以访问
  • 开发区网站制作公司seo搜索引擎优化技术教程
  • 全网影视vip网站建设网站打开速度太慢
  • 建设工程材料登记备案申请网站代刷网站推广快速
  • 西安个人做企业网站做蛋白go分析网站
  • 网站 做内容分发资格公司网站建设基本流程图
  • 徐州做网站需要多少钱城市建设灯具网站
  • 做网页跳转网站青岛公司网站建设开发
  • 72建站网wordpress建站空间
  • 潜江官方新闻百度seo视频教程
  • 淘宝客必须做网站吗最贵网站建设多少钱
  • 网站开发与设计实训心得两千字梧州网站推广外包服务
  • 网站出售html如何打开网页
  • 做网站商家设计在线观看免费2014
  • 山西推广型网站建设vs做网站加背景
  • 网站关键词快速排名服务wordpress中文杂志主题
  • 后端网站开发短网址生成怎么使用
  • 网站建设销售兼职合同增城营销型网站建设
  • 用html做简单网站湖南百度推广公司
  • 怎么做拍卖网站吗社交网站建设网站
  • 东莞公司网站建设公司做网站页面设计报价
  • 南阳专业网站设计公司wordpress自定义文章类型分类获取
  • 网站开发详细流程图建设部规范公布网站
  • 怎样建设商城网站wordpress 文件目录
  • 如何制作自己的网站?ps做网站的效果图
  • 做啥网站好洛阳做网站公司有哪些