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

网站设计和网站建设百度总部

网站设计和网站建设,百度总部,广州有哪些建筑公司,网站域名的组成为什么需要使用自动装配 在通过XML配置文件进行设置Bean元素注入与声明注册后,我们能够发现一个问题,在项目中是会存在大量对象的,不可能全部都写在XML文件中,那会显得非常的臃肿,不利于后期维护,所以需要用…

为什么需要使用自动装配
在通过XML配置文件进行设置Bean元素注入与声明注册后,我们能够发现一个问题,在项目中是会存在大量对象的,不可能全部都写在XML文件中,那会显得非常的臃肿,不利于后期维护,所以需要用到Spring的自动装配。
当然它依旧需要编写XML文件进行Bean的声明,但是它能够省去注入数据的步骤。

自动装配的模式

  • no: 默认配置,即无自动配置,使用显式bean装配
  • byName: 由属性名自动装配,扫描属性名,尝试同名bean与属性项连接
  • byType: 由属性数据类型自动装配,扫描数据类型,尝试与确切的bean的注入属性相连接,若有多个bean,则会报错
  • constructor: 类似于byType,适用于带有构造函数参数类型的bean

自动装配的局限性

  • 重写的可能性:可以通过重写自动装配的注入关系设置指定依赖关系
  • 原始数据类型:不能自动装配基本类型,字符串和类
  • 混乱的本质:不精准的装配

1、byName自动装配
Product.java

public class Product {private String pid;private String pname;public Product() {}public Product(String pid, String pname) {this.pid = pid;this.pname = pname;}public String getPid() {return pid;}public void setPid(String pid) {this.pid = pid;}public String getPname() {return pname;}public void setPname(String pname) {this.pname = pname;}@Overridepublic String toString() {return "Product{" +"pid='" + pid + '\'' +", pname='" + pname + '\'' +'}';}
}

Sales.java

public class Sales {private String sid;private int price;private Product product;public Sales(String sid, int price, Product product) {this.sid = sid;this.price = price;this.product = product;}public Sales() {}public String getSid() {return sid;}public void setSid(String sid) {this.sid = sid;}public int getPrice() {return price;}public void setPrice(int price) {this.price = price;}public Product getProduct() {return product;}public void setProduct(Product product) {this.product = product;}@Overridepublic String toString() {return "Sales{" +"sid='" + sid + '\'' +", price=" + price +", product=" + product +'}';}
}

Beans.xml

		Sales的setProduct(Product product)当autowire=byName时,扫描到一个bean,id=product,将该bean数据注入Sales的product属性注意:如果bean设置name有多个,且存在同name的bean存在,则会报异常,因为Spring比较笨,搞不清楚哪个匹配到的。<bean id="sales" class="org.example.POJO.Sales" autowire="byName"><property name="price" value="251"/><property name="sid" value="sales100000"/></bean><bean id="product" class="org.example.POJO.Product"><property name="pid" value="p1233323"/><property name="pname" value="经典牛奶"/></bean>

Main.java

public class Main {public static void main(String[] args) {AbstractApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");Sales sales = (Sales) context.getBean("sales");System.out.println(sales);}
}

输出结果

Sales{sid='sales100000', price=251, product=Product{pid='p1233323', pname='经典牛奶'}}

2、byType自动装配
Beans.xml

		setProduct(Product product)当autowire=byType时,扫描到一个bean,class=org.example.POJO.Product,将该bean数据注入Sales的product属性注意:如果bean设置name有多个,且存在同class的bean存在,则会报异常,因为Spring比较傻,搞不清楚哪个匹配到的。<bean id="sales" class="org.example.POJO.Sales" autowire="byType"><property name="price" value="251"/><property name="sid" value="sales100000"/></bean><bean id="product" class="org.example.POJO.Product"><property name="pid" value="p1233323"/><property name="pname" value="经典牛奶"/></bean>

3、constructor自动装配
Beans.xml

		public Sales(String sid, int price, Product product)当autowire=constructor时,扫描到一个bean,class=org.example.POJO.Product,将该bean数据注入Sales的product属性,可以按照byType的规则进行使用注意:如果bean设置name有多个,且存在同class的bean存在,则会报异常,因为Spring比较傻,搞不清楚哪个匹配到的。<bean id="sales" class="org.example.POJO.Sales" autowire="constructor"><constructor-arg name="price" value="251"/><constructor-arg name="sid" value="sales100000"/></bean><bean id="product" class="org.example.POJO.Product"><property name="pid" value="p1233323"/><property name="pname" value="经典牛奶"/></bean>
http://www.yidumall.com/news/68594.html

相关文章:

  • 网站开发感受今天高清视频免费播放
  • 织梦是怎么做网站百度信息流推广
  • 重庆做网站价格色盲测试图 考驾照
  • 山西网站建设软件成全在线观看免费高清动漫
  • 武汉做网站推广网站联盟广告
  • 专注合肥网站建设排名检测
  • java网站开发优缺点临沂seo网站管理
  • sae wordpress ftp志鸿优化设计答案
  • 派遣公司做网站的好处windows优化大师有哪些功能
  • 沈阳做网站价格百度关键词排名推广
  • 在外汇局网站做登记报告爱链接
  • 响应式网站怎么做mip深圳英文站seo
  • 有什么网站可以做数学题广点通
  • 王爷不要seo快照推广
  • 给女友惊喜做网站湖南专业seo推广
  • 在手机上做网站是什么软件app拉新一手渠道
  • 如何网站建设平台海门网站建设
  • 筛选选功能形网站建设百度推广电话客服
  • 番禺网站开发哪家好微信管理软件
  • 林州二建集团建设有限公司网站怎么把广告发到各大平台
  • 网站怎么做商桥福州搜索引擎优化公司
  • 广告行业做网站哪个好产品线上营销有哪些方式
  • wordpress邮件找客户端班级优化大师
  • 正规网站建设定制百度搜索风云榜小说
  • 建立网站后期需要干嘛百度seo排名点击
  • 深圳网站建设美橙互联百度搜索引擎的网址
  • 贵阳网站制作系统长春seo网站管理
  • wordpress主题改中文360搜索优化
  • 网站建设在作用是什么意思个人网站免费域名注册
  • 织梦做的网站要怎么放到浏览器在线生成网页网站