人世繁华|spring框架之IOC容器( 二 )
也就相当于newCar(1,"长安",20000) 。
通过spring就不需要我们自己new了 。
2setXXX方法属性注入
和上述构造器参数注入的效果是差不多的 , 只不过setXXX方法更具有选择性 。
构造器参数注入有几个参数都得设置 , 少一个都不行 , 而该方法想设置哪个就设置哪个 。
②spring配置setXXX方法参数
property标签:spring中专门进行setXXX属性注入的标签 。
name:setXXX方法的属性名字 , 例如setXXX()那么name的属性值为XXX 。 value:简单的值 。 ref:复杂的值 , 引用由spring容器创建的其它bean对象的名字 。配置完成 , 做一个测试
三、p名称空间和spEL表达式为简化XML文件的配置 , Spring2.5版本开始引入了一个新的p名称空间 。
准确地说 , 它的作用是为了简化setXXX方法属性依赖注入配置的 , 使用方式如下图:
如果是引用简单对象 , 直接用属性名说明即可 , 比如p:id , p:name 。 如果是引用复杂对象 , 需要用ref来补充说明 , 比如p:car-ref 。通过上图 , 我们能发现p名称空间能进一步地简化了代码的编写 。
2spEL表达式
spEL全称SpringExpressionLanguage , 是一种表达式语言 , 和前面学的EL表达式很像 。
#{bean的Id}引用Bean , 比如#{car} 。 #{bean的Id.属性}引用Bean的属性 , 比如#{person1.name} 。 #{bean的Id.方法(参数)}调用Bean的方法 。 附:补充一个Lombok插件
插件下载好后 , 还需要导入依赖才能使用 。
它有什么用呢?