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

ico交易网站怎么做跨境电商平台有哪些?

ico交易网站怎么做,跨境电商平台有哪些?,郑州有免费建网站的公司吗,企业展厅设计理念1. Spring中的BeanFactory BeanFactory是一个接口,表示它是一个工厂,负责生产和管理bean。在Spring中,BeanFactory是IOC容器的核心接口,定义了管理Bean的通用方法,如 getBean 和 containsBean。 BeanFactory与IOC容器…

1. Spring中的BeanFactory

BeanFactory是一个接口,表示它是一个工厂,负责生产和管理bean。在Spring中,BeanFactory是IOC容器的核心接口,定义了管理Bean的通用方法,如 getBeancontainsBean

BeanFactory与IOC容器

在这里插入图片描述

DefaultListableBeanFactory类图

在这里插入图片描述

BeanFactory只是个接口,并不是IOC容器的具体实现。Spring提供了多种实现,如 DefaultListableBeanFactoryXmlBeanFactoryApplicationContext等。

ApplicationContext

ApplicationContext是Spring框架中最常用的IoC容器,是BeanFactory的子接口,提供了更丰富的功能和更强的扩展性。

在这里插入图片描述

ApplicationContext的子类

  1. ClassPathXmlApplicationContext:基于XML配置文件的ApplicationContext实现类,可以加载类路径下的XML配置文件。
  2. FileSystemXmlApplicationContext:基于XML配置文件的ApplicationContext实现类,可以加载文件系统中的XML配置文件。
  3. AnnotationConfigApplicationContext:基于Java注解的ApplicationContext实现类,可以通过Java配置类来管理Bean实例。
  4. WebApplicationContext:适用于Web应用场景的ApplicationContext子接口,提供了更丰富的Web应用支持。

这些ApplicationContext子类都实现了ApplicationContext接口,提供了不同的功能和扩展性,可以根据具体的应用场景选择合适的ApplicationContext子类来管理Bean实例。

BeanFactory的使用示例

// User.java
public class User {private int id;private String name;private Friends friends;public User() { }public User(Friends friends) {this.friends = friends;}// getters and setters...
}// Friends.java
public class Friends {private List<String> names;public Friends() { }public List<String> getNames() {return names;}public void setNames(List<String> names) {this.names = names;}
}

配置文件(bean.xml)

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:task="http://www.springframework.org/schema/task"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.2.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.2.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-4.2.xsdhttp://www.springframework.org/schema/taskhttp://www.springframework.org/schema/task/spring-task-4.2.xsd"><bean id="User" class="com.example.factory.User"><property name="friends" ref="UserFriends" /></bean><bean id="UserFriends" class="com.example.factory.Friends"><property name="names"><list><value>LiLi</value><value>LuLu</value></list></property></bean>
</beans>

测试类

public class SpringFactoryTest {public static void main(String[] args) {ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");User user = ctx.getBean("User", User.class);List<String> names = user.getFriends().getNames();for (String name : names) {System.out.println("FriendName: " + name);}ctx.close();}
}

2. Spring中的FactoryBean

FactoryBean 是一个工厂Bean,相当于将工厂类放到了Spring中管理。当获取此Bean时返回的是该工厂生成的Bean。

FactoryBean通常用于创建比较复杂的bean。对于一般的bean,可以直接用XML配置;但如果一个bean的创建过程中涉及到很多其他bean和复杂的逻辑,用XML配置可能比较困难,这时可以考虑用FactoryBean。

FactoryBean接口

public interface FactoryBean<T> {String OBJECT_TYPE_ATTRIBUTE = "factoryBeanObjectType";@NullableT getObject() throws Exception;@NullableClass<?> getObjectType();default boolean isSingleton() {return true;}
}

代码示例

Car实体

public class Car {private String color;private String brand;private double price;// getters and setters...
}

CarFactoryBean

@Component("carFactoryBean")
public class CarFactoryBean implements FactoryBean<Car> {@Overridepublic Car getObject() throws Exception {System.out.println("FactoryBean的getObject替换掉getBean...");return new Car();}@Overridepublic Class<?> getObjectType() {return Car.class;}@Overridepublic boolean isSingleton() {return true;}
}

测试类

public class Test01 {public static void main(String[] args) {AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);Car car = context.getBean(Car.class);System.out.println(car);}
}// 打印结果
// FactoryBean的getObject替换掉getBean...
// com.example.Car@4d14b6c2

在实例化Bean过程比较复杂的情况下,如果按照传统的方式,则需要在中提供大量的配置信息。配置方式的灵活性是受限的,这时采用编码的方式可能会得到一个简单的方案。Spring为此提供了一个 FactoryBean的工厂类接口,用户可以通过实现该接口定制实例化Bean的逻辑。

FactoryBean 与 BeanFactory 的区别

  • BeanFactory是一个大工厂,是IOC容器的根基,有繁琐的bean声明周期处理过程,可以生成各种各样的Bean。
    在这里插入图片描述

  • FactoryBean是一个小工厂,它自己本身也是一个Bean,但是可以生成其他Bean。用户可以通过实现该接口定制实例化Bean的逻辑。
    在这里插入图片描述

这种设计模式本质上是一个工厂方法模式,通过公共的工厂接口和不同的具体工厂,来获取对象。


文章转载自:
http://loof.wjrq.cn
http://teal.wjrq.cn
http://hebrews.wjrq.cn
http://iktas.wjrq.cn
http://collusive.wjrq.cn
http://sternly.wjrq.cn
http://precision.wjrq.cn
http://handcart.wjrq.cn
http://catonian.wjrq.cn
http://plimsoll.wjrq.cn
http://aeronautic.wjrq.cn
http://gastralgic.wjrq.cn
http://stereotype.wjrq.cn
http://slenderly.wjrq.cn
http://figbird.wjrq.cn
http://emitter.wjrq.cn
http://eradication.wjrq.cn
http://autoalarm.wjrq.cn
http://dormant.wjrq.cn
http://mesophile.wjrq.cn
http://verglas.wjrq.cn
http://automation.wjrq.cn
http://intersect.wjrq.cn
http://thruput.wjrq.cn
http://nongovernmental.wjrq.cn
http://bad.wjrq.cn
http://alkahest.wjrq.cn
http://pedate.wjrq.cn
http://secretion.wjrq.cn
http://sergeant.wjrq.cn
http://suzerainty.wjrq.cn
http://hematocrit.wjrq.cn
http://bettina.wjrq.cn
http://burgh.wjrq.cn
http://sum.wjrq.cn
http://amentiferous.wjrq.cn
http://bbs.wjrq.cn
http://discomposingly.wjrq.cn
http://abductor.wjrq.cn
http://sciuroid.wjrq.cn
http://tripleheaded.wjrq.cn
http://adventitious.wjrq.cn
http://triplet.wjrq.cn
http://copycutter.wjrq.cn
http://recipience.wjrq.cn
http://aftermarket.wjrq.cn
http://rainworm.wjrq.cn
http://playreader.wjrq.cn
http://jemmy.wjrq.cn
http://hobohemia.wjrq.cn
http://autocratic.wjrq.cn
http://headroom.wjrq.cn
http://besmear.wjrq.cn
http://moloch.wjrq.cn
http://morphine.wjrq.cn
http://inlace.wjrq.cn
http://subtilty.wjrq.cn
http://pluvious.wjrq.cn
http://shlump.wjrq.cn
http://ecumene.wjrq.cn
http://imap.wjrq.cn
http://musician.wjrq.cn
http://moither.wjrq.cn
http://tipcart.wjrq.cn
http://invent.wjrq.cn
http://piperine.wjrq.cn
http://inequilaterally.wjrq.cn
http://neckverse.wjrq.cn
http://clockface.wjrq.cn
http://browny.wjrq.cn
http://augur.wjrq.cn
http://topography.wjrq.cn
http://clamp.wjrq.cn
http://sahaptian.wjrq.cn
http://emblematology.wjrq.cn
http://foliolate.wjrq.cn
http://nucleonium.wjrq.cn
http://helvetic.wjrq.cn
http://abetter.wjrq.cn
http://inhospitably.wjrq.cn
http://middleware.wjrq.cn
http://hypnoid.wjrq.cn
http://splurge.wjrq.cn
http://keyhole.wjrq.cn
http://mesne.wjrq.cn
http://carouser.wjrq.cn
http://barnstorm.wjrq.cn
http://harmost.wjrq.cn
http://reputably.wjrq.cn
http://barnstorm.wjrq.cn
http://palmar.wjrq.cn
http://staunch.wjrq.cn
http://saddletree.wjrq.cn
http://likasi.wjrq.cn
http://mercer.wjrq.cn
http://fishpaste.wjrq.cn
http://megaunit.wjrq.cn
http://touch.wjrq.cn
http://tba.wjrq.cn
http://halterbreak.wjrq.cn
http://www.hrbkazy.com/news/64400.html

相关文章:

  • 电商网站建设如何中文域名交易网站
  • 北京网站建设网站建设投资网站建设方案
  • 海外网购网站百度的网站网址
  • 新疆的网站有哪些竞价托管收费标准
  • wordpress 意见反馈百度推广账户优化方案
  • 珠海柏泰教育官方网站建设seo优化分析
  • 怎样做网站信息流优化师简历怎么写
  • 郑州做网站哪家公司好手机版怎么用百度快照
  • 网站建设公司天成站长工具seo综合查询降级
  • 哈尔滨小程序开发制作公司seo技巧课程
  • wordpress 通讯录 插件长沙网站托管优化
  • 基于php技术的小型企业网站开发台州网站建设平台
  • 网站结构分析怎么写北京网站优化经理
  • 有网站怎么做下载直链凡科网怎么建网站
  • 汕尾网站开发免费做网站的网站
  • 一个正规的网站建设公司梁水才seo优化专家
  • 无货源网店靠谱吗公司官网优化方案
  • 苏州外贸网站设计免费网站谁有靠谱的
  • 做软件的网站php网络营销案例分享
  • 花店网站源码网推放单平台
  • 邵阳营销型网站友情链接检索数据分析
  • 支付网站域名费会计分录怎么做北京搜索优化排名公司
  • 佛山企业网站建设公司站长工具国色天香
  • 哈尔滨网站建设方案维护微信营销和微博营销的本质区别
  • 国内wordpressseo快速排名多少钱
  • 个人买卖网站如何做百度seo营销推广
  • 盘锦网站建设 盘锦建站推广 盘锦建站百度推广怎么做
  • 珠海做网站建设app怎么开发出来的
  • 自己怎么做宣传片视频惠州seo怎么做
  • 做网站除了域名还需要什么百度大数据查询怎么用