怎样创建网站域名平台,室内装饰设计师国家职业标准,怎样搭建一个个人网站,长沙好的做网站品牌#x1f600;前言 本章是spring基于XML 配置bean系类中第7篇讲解spring通过文件属性注入bean和基于xml的bean的自动装配以及spring-eel表达式的使用加代码合集 #x1f3e0;个人主页#xff1a;尘觉主页
#x1f9d1;个人简介#xff1a;大家好#xff0c;我是尘觉前言 本章是spring基于XML 配置bean系类中第7篇讲解spring通过文件属性注入bean和基于xml的bean的自动装配以及spring-eel表达式的使用加代码合集 个人主页尘觉主页
个人简介大家好我是尘觉希望我的文章可以帮助到大家您的满意是我的动力 在csdn获奖荣誉: csdn城市之星2名 Java全栈群星计划top前5 端午大礼包获得者 欢迎大家这里是CSDN我总结知识的地方欢迎来到我的博客感谢大家的观看 如果文章有什么需要改进的地方还请大佬不吝赐教 先在次感谢啦 文章目录 spring通过文件属性注入bean和基于xml的bean的自动装配以及spring-eel表达式的使用加代码合集通过属性文件给 bean 注入值src/ 创建 my.properties配置beans.xml完成测试 基于 XML 的 bean 的自动装配OrderDaoOrderServiceOrderAction配置beans.xml spring eel 表达式SpELBean.java配置beans.xml测试 总结 spring通过文件属性注入bean和基于xml的bean的自动装配以及spring-eel表达式的使用加代码合集
通过属性文件给 bean 注入值
src/ 创建 my.properties name\u9EC4\u888D\u602A id10 skill\u72EE\u5B50\u543C 配置beans.xml 先把这个文件修改成提示All Problem提示错误将光标放在context 输入altenter 就会自动引入namespacelocation“classpath:my.properties” 表示指定属性文件的位置提示需要带上 classpath属性文件有中文需要将其转为unicode编码- 使用工具 context:property-placeholder location“classpath:my.properties”/ 配置Monster对象 1.通过属性文件给monster对象的属性赋值 2. 这时我们的属性值通过${属性名} 3. 这里说的 属性名 就是 my.properties文件中的 kv 的k !--指定属性文件1. 先把这个文件修改成提示All Problem2. 提示错误将光标放在context 输入altenter 就会自动引入namespace3. locationclasspath:my.properties 表示指定属性文件的位置4. 提示需要带上 classpath5. 属性文件有中文需要将其转为unicode编码- 使用工具--context:property-placeholder locationclasspath:my.properties/!--配置Monster对象1.通过属性文件给monster对象的属性赋值2. 这时我们的属性值通过${属性名}3. 这里说的 属性名 就是 my.properties文件中的 kv 的k--bean classcom.spring.bean.Monster idmonster1000property namemonsterId value${monsterId}/property nameskill value${skill}/property namename value${name}//bean完成测试 Testpublic void setBeanByFile() {ApplicationContext ioc new ClassPathXmlApplicationContext(beans03.xml);Monster monster1000 ioc.getBean(monster1000, Monster.class);System.out.println(monster1000 monster1000);}基于 XML 的 bean 的自动装配
在 spring 的 ioc 容器,可以实现自动装配 bean
这里说的 Action 就是 Servlet-充当 Controller
OrderDao public class OrderDao { //方法。。。 public void saveOrder() { System.out.println(“保存 一个订单…”); } } OrderService
public class OrderService {//OrderDao属性private OrderDao orderDao;//getterpublic OrderDao getOrderDao() {return orderDao;}//setterpublic void setOrderDao(OrderDao orderDao) {this.orderDao orderDao;}
}OrderAction
public class OrderAction {//属性OrderServiceprivate OrderService orderService;//getterpublic OrderService getOrderService() {return orderService;}//setterpublic void setOrderService(OrderService orderService) {this.orderService orderService;}
}配置beans.xml autowire“byType” 表示 在创建 orderService时通过类型的方式 给对象属性 自动完成赋值/引用 比如OrderService 对象有 private OrderDao orderDao 就会在容器中去找有没有 OrderDao类型对象 如果有就会自动的装配, 提示如果是按照 byType 方式来装配, 这个容器中不能有两个 的OrderDao类型对象 如果你的对象没有属性, autowire就没有必要写 其它类推… 如果我们设置的是 autowire“byName” 表示通过名字完成自动装配 比如下面的 autowire“byName” class“com.wyxedu.spring.service.OrderService” 1) 先看 OrderService 属性 private OrderDao orderDao 2) 再根据这个属性的setXxx()方法的 xxx 来找对象id 3) public void setOrderDao() 就会找idorderDao对象来进行自动装配 4) 如果没有就装配失败 !--配置OrderDao对象--bean classcom.spring.dao.OrderDao idorderDao/!--配置OrderService对象1. autowirebyType 表示 在创建 orderService时通过类型的方式 给对象属性 自动完成赋值/引用2. 比如OrderService 对象有 private OrderDao orderDao3. 就会在容器中去找有没有 OrderDao类型对象4. 如果有就会自动的装配, 提示如果是按照 byType 方式来装配, 这个容器中不能有两个的OrderDao类型对象5. 如果你的对象没有属性, autowire就没有必要写6. 其它类推..7. 如果我们设置的是 autowirebyName 表示通过名字完成自动装配8. 比如下面的 autowirebyName classcom.spring.service.OrderService1) 先看 OrderService 属性 private OrderDao orderDao2) 再根据这个属性的setXxx()方法的 xxx 来找对象id3) public void setOrderDao() 就会找idorderDao对象来进行自动装配4) 如果没有就装配失败--bean autowirebyName classcom.spring.service.OrderServiceidorderService/!--配置OrderAction--bean autowirebyName classcom.spring.web.OrderAction idorderAction/spring eel 表达式 Spring Expression LanguageSpring 表达式语言简称 SpEL。支持运行时查询并可以操作对象。 和 EL 表达式一样SpEL 根据 JavaBean 风格的 getXxx()、setXxx()方法定义的属性访问对象 SpEL 使用#{…}作为定界符所有在大框号中的字符都将被认为是 SpEL 表达式。 不是重点如果看到有人这样使用能看懂即可
SpELBean.java
public class SpELBean {private String name;private Monster monster;private String monsterName;private String crySound; //叫声private String bookName;private Double result;public SpELBean() {}public String getName() {return name;}public void setName(String name) {this.name name;}public Monster getMonster() {return monster;}public void setMonster(Monster monster) {this.monster monster;}public String getMonsterName() {return monsterName;}public void setMonsterName(String monsterName) {this.monsterName monsterName;}public String getCrySound() {return crySound;}public void setCrySound(String crySound) {this.crySound crySound;}public String getBookName() {return bookName;}public void setBookName(String bookName) {this.bookName bookName;}public Double getResult() {return result;}public void setResult(Double result) {this.result result;}//cry 方法会返回字符串public String cry(String sound) {return 发出 sound 叫声...;}//read 返回字符串public static String read(String bookName) {return 正在看 bookName;}Overridepublic String toString() {return SpELBean{ name name \ , monster monster , monsterName monsterName \ , crySound crySound \ , bookName bookName \ , result result };}
}配置beans.xml 通过spel给bean的属性赋值 !-- spring el 表达式使用1. 通过spel给bean的属性赋值--bean idspELBean classcom.wyxedu.spring.bean.SpELBean!-- sp el 给字面量 --property namename value#{大家好}/!-- sp el 引用其它bean --property namemonster value#{monster01}/!-- sp el 引用其它bean的属性值 --property namemonsterName value#{monster01.name}/!-- sp el 调用普通方法(返回值) 赋值 --property namecrySound value#{spELBean.cry(喵喵的..)}/!-- sp el 调用静态方法(返回值) 赋值 --property namebookName value#{T(com.spring.bean.SpELBean).read(天龙八部)}/!-- sp el 通过运算赋值 --property nameresult value#{89*1.2}//bean测试 //通过spring el 对属性赋值Testpublic void setBeanBySpel() {ApplicationContext ioc new ClassPathXmlApplicationContext(beans04.xml);SpELBean spELBean ioc.getBean(spELBean, SpELBean.class);System.out.println(spELBean spELBean);}总结
本文讲解spring怎么通过通过文件属性注入bean讲解 和怎么基于xml的bean的自动装配的详细讲解 以及spring-eel表达式的使用加代码合集
spring基于XML 配置bean系类 第一篇–怎么通过类型来获取 bean以及为什么可以通过构造器配置 bean
第二篇– 怎么通过通过 p 名称空间配置 bean以及怎么去引用/注入其它 bean 对象–ref和怎么去引用/注入内部 bean 对象
第三篇– spring怎么去引用/注入集合/数组类型和 怎么通过 util 名称空间创建 list以及 怎么去通过级联属性赋值
第四篇–spring中怎么通过静态工厂和动态工厂获取对象以及怎么通过 FactoryBean 获取对象
第五篇–spring-bean配置信息重用(继承)和bean创建顺序是什么以及bean 对象的单例和多例讲解
第六篇–spring-bean的生命周期和怎么配置spring-bean的后置处理器
欢迎大家加入我的社区 尘觉社区 文章到这里就结束了如果有什么疑问的地方请指出诸佬们一起来评论区一起讨论 希望能和诸佬们一起努力今后我们一起观看感谢您的阅读 如果帮助到您不妨3连支持一下创造不易您们的支持是我的动力