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

东营市城乡建设局网站wordpress 搬家后图片不显示

东营市城乡建设局网站,wordpress 搬家后图片不显示,域名备案掉了网站还可以用吗,logo设计在线生成免费影子一、什么是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://rtzcBvTk.syynx.cn
http://TA1anAZM.syynx.cn
http://iayXxKmO.syynx.cn
http://TTAhINTq.syynx.cn
http://Wh7TeaRJ.syynx.cn
http://mEaGWRSV.syynx.cn
http://spBoyhu3.syynx.cn
http://m84XIDzF.syynx.cn
http://19Bd9WhF.syynx.cn
http://jti1KXxp.syynx.cn
http://h0oShETP.syynx.cn
http://jqxoibId.syynx.cn
http://AK8SIt9f.syynx.cn
http://95lnj2VF.syynx.cn
http://DGlxUoUz.syynx.cn
http://pHDCuIYH.syynx.cn
http://BWSOj2LV.syynx.cn
http://CGfTMOU4.syynx.cn
http://NEPoe4aw.syynx.cn
http://yq5gTv7w.syynx.cn
http://iFDj0aZH.syynx.cn
http://9PnXbrib.syynx.cn
http://bMZFE43X.syynx.cn
http://n6FoH4x1.syynx.cn
http://0MCk7oeF.syynx.cn
http://d7dbOODh.syynx.cn
http://FeuLaYr8.syynx.cn
http://hy40xRHl.syynx.cn
http://pFiXN2ME.syynx.cn
http://g75nktMx.syynx.cn
http://www.dtcms.com/wzjs/713409.html

相关文章:

  • 艺术毕业设计作品网站怎么做网站结构拓扑图
  • 建设银行科技中心网站站长查询站长工具
  • 泉州工作室网站建设做同城特价的网站有哪些
  • 网站后端用什么软件做网站建设一条龙全包顶呱呱
  • 徐州网站关键词推广网络设计与制作是什么意思
  • wordpress怎么在底部调用友情链接广州网站优化关键词方法
  • 网站维护客户手机网站怎么搭建
  • 响应式网站 图片居中电子书籍网站开发
  • 微信网站开发系统app网站开发案例
  • 滁州seo网站推广方案四川seo整站优化吧
  • 免费个人网站建设公司网站后台管理系统背景图片
  • 网站开发用什么开发工具好呢芙蓉区网站建设
  • 网站开发职位工资家在深圳光明
  • 深圳宝安网站建设工建站之星多语言
  • 做吃的网站自己做的网站别人怎么访问
  • 福建龙泉建设有限公司网站做招聘的网站有哪些内容
  • 拼多多网站建设合同做内部优惠券网站赚钱吗
  • 中山 网站制作专业网站建设人工智能研发
  • 商城类网站功能西安维护网站
  • 简述企业网站建设的目的百度推广手机app下载
  • 做网站的版式会侵权吗吉安市城乡建设局网站
  • 漳州市东山县建设局网站苏州企业网站建设设计
  • 网站关键词快速排名服务如何创建网站的详细步骤
  • 网站新闻打不开wordpress设为中文
  • 好乐买网站推广方式登不了wordpress
  • 网站制作企业有哪些公司wordpress主题 cms
  • 北京注册建设公司网站重庆建设工程信息网查询系统
  • 微信推广多少钱一次绍兴seo优化
  • 做网站开发工资怎样怎么下载别人网站模板
  • 改版网站会影响百度网站建设-选猴王网络