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

早期做的网站支持现在的网速吗梁山做网站价格

早期做的网站支持现在的网速吗,梁山做网站价格,黑龙江网站建设巨耀网络,oracle数据库网站开发一、对象分类 简单对象:使用new Obj()方式创建的对象 复杂对象:无法使用new Obj()方式创建的对象。例如: 1. AOP创建代理对象。ProxyFactoryBean; 2. Mybatis中的SqlSessionFactoryBean; 3. Hibernate中的SessionFactoryBean。二、创建对象方…

一、对象分类

简单对象:使用new Obj()方式创建的对象
复杂对象:无法使用new Obj()方式创建的对象。例如:
1. AOP创建代理对象。ProxyFactoryBean;
2. Mybatis中的SqlSessionFactoryBean;
3. Hibernate中的SessionFactoryBean

二、创建对象方式

2.1 简单对象创建方式

Spring框架中, 通过@Commonent,@Service,@Controller等注解创建的都属于简单对象, 
底层是采用了Java反射机制来创建对象

2.2 复杂对象创建方式

2.2.1 FactoryBean

FactoryBean是Spring原生提供的创建复杂对象的方式。源码为:

public interface FactoryBean<T> {/*** 返回要创建的目标对象*/@NullableT getObject() throws Exception;/*** 返回目标对象的Class对象*/@NullableClass<?> getObjectType();/*** bean是否为单例的**/default boolean isSingleton() {return true;}
}

以创建Connection对象为例:

1. 实现FactoryBean接口
public class ConnectionFactoryBean implements FactoryBean<Connection> {/*** 抽出属性,将属性的配置放到配置文件中,体现了依赖注入的思想*/@Value("${mysql.connector.driverClassName}")private String driverClassName;@Value("${mysql.connector.url}")private String url;@Value("${mysql.connector.username}")private String username;@Value("${mysql.connector.password}")private String password;@Overridepublic Connection getObject() throws Exception {Class.forName(driverClassName);Connection conn = DriverManager.getConnection(url, username, password);return conn;}@Overridepublic Class<?> getObjectType() {return Connection.class;}@Overridepublic boolean isSingleton() {return false;}
}2.放到配置文件中
<bean id="conn" class="com...ConnectionFactoryBean" />3.从容器中获取Connection对象
Application ctx = ...;
Connection conn = (Connection) ctx.getBean("conn");
若想获取ConnectionFactoryBean对象,可通过以下方式:
Connection conn = (Connection) ctx.getBean("&conn");

FactoryBean调用的方式是经典的接口回调机制。整体流程为:
在这里插入图片描述

2.2.2 实例工厂

实例工厂方式主要为了解决以下问题:

1. 解决Spring框架的侵入,强依赖SpringFactoryBean接口
2. 整合遗留的老系统。例如:老系统中存在创建某个对象的方式,但不是Spring方式

非整合Spring创建复杂对象的方式为:

public class InstanceFactoryBean {public Connection getConn() throws Exception {Class.forName("com.mysql.jdbc.Driver");Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useSSL=false", "root", "123456");return conn;}
}语法:
<bean id="bean名称" factory-bean="需要调用的实例对象bean名称" factory-method="bean对象中的方法">1. 先创建工厂的Bean对象
2. 然后创建具体的Connection对象
<bean id="connBean" class="com.java....InstanceFactoryBean">
<bean id="conn" factory-bean="connBean" factory-method="getConn">

2.2.3 静态工厂

和实例工厂解决的问题类似,只不过创建Connection对象采用静态方法。例如:

public class StaticFactoryBean {public static Connection getConn() throws Exception {Class.forName("com.mysql.jdbc.Driver");Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useSSL=false", "root", "123456");return conn;}
}语法:
<bean id="bean名称" name="" class="静态工厂完整类名" factory-method="静态工厂的方法">
<bean id="conn" name="" class="com....StaticFactoryBean" factory-method="getConn">
http://www.yayakq.cn/news/702507/

相关文章:

  • 网站建设群标签好写什么定制软件开发方案
  • 一个页面的网站网站的建设主机费用
  • 施工方案下载免费网站有专门做食品的网站吗
  • 如何做招聘网站的数据分析济南网站开发
  • 福建企业网站建设图文制作app哪个好
  • 手机网站怎么上传图片wordpress 局域网 慢
  • 快速建站开源免费注册工商
  • 中国作风建设门户网站学校网站建设策划书
  • ftp 上传 wordpress网站文章来源seo
  • 电商网站功能网站建设高级教程
  • 英国房产网站大全怎么创建小程序商店
  • 软件公司网站小县城做网站
  • 做网站上传服务器成都工商注册咨询电话
  • 做购物网站多少钱文山网站建设
  • 自己建设购物网站网站网络排名优化方法
  • 青海西宁做网站多少钱win7优化极致性能
  • 网站建设捌金手指花总五wordpress新闻抓取插件
  • 中怎么做网站上下载图片的功能品牌整合营销推广
  • 网站开发项目教程答案seo是东莞企业网站排seo
  • 网站流量分析指标工信部 网站开发设计师
  • 做户外的网站网站设计师加油站
  • 上国外网站dns私人网站建设方案书框架栏目
  • 站长网网站模板个人网站可以做商城吗
  • 做视频网站如何赚钱黄页网站代码
  • 购买游戏软件做网站网络推广的话术怎么说
  • 如何自己建造网站html布局模板
  • 天水做网站的wordpress腾讯地图插件下载
  • 化妆品的网站设计方案小公司网站模版
  • 网站上的链接怎么做凡科互动app下载
  • 购物型网站建设龙岗建站费用