看到这篇文章就转过来了,简单明了,本着分享精神,供大家参考
由于好久没去看spring的东西,以前的知道差不多都忘记了,今天重新学习一下如何使用,以后在慢慢的一个一个知识点的深究。我发现学过的东西还是要记录下来,否则以后又要重新找资料。纯属个人学习笔记。
一:依赖注入的方式
constructor-arg:通过构造函数注入。
property:通过setxx方法注入。
二:constructor-arg的简单使用
java代码
- public class Man {
- private String name ;
- private int age;
- private List hobby;
- private Map friends;
- private Set set;
- private boolean ifMarried;
- public Man() {
- }
- public Man(String name, int age,List hobby,Map friends,Set set,boolean ifMarried){
- this.name = name;
- this.age = age;
- this.hobby = hobby;
- this.friends = friends;
- this.set = set;
- this.ifMarried = ifMarried;
- }
- public String getInfo(){
- String info = "姓名:"+this.name+"\n年龄:"+this.age+"\n爱好:"+this.hobby+"\n朋友:"+this.friends+"\n婚否:"+this.ifMarried+"\n其他的:"+this.set;
- return info;
- }
public class Man { private String name ; private int age; private List hobby; private Map friends; private Set set; private boolean ifMarried; public Man() { } public Man(String name, int age,List hobby,Map friends,Set set,boolean ifMarried){ this.name = name; this.age = age; this.hobby = hobby; this.friends = friends; this.set = set; this.ifMarried = ifMarried; } public String getInfo(){ String info = "姓名:"+this.name+"\n年龄:"+this.age+"\n爱好:"+this.hobby+"\n朋友:"+this.friends+"\n婚否:"+this.ifMarried+"\n其他的:"+this.set; return info; } }
xml配置文件
- <bean id="man" class="com.spring.test.man.Man">
- <constructor-arg value="zzy" index="0" >
- </constructor-arg>
- <constructor-arg value="10" index="1">
- </constructor-arg>
- <constructor-arg>
- <list>
- <value>movie</value>
- <value>music</value>
- </list>
- </constructor-arg>
- <constructor-arg>
- <set>
- <value>Lady is GaGa</value>
- <value>GaGa is Lady</value>
- </set>
- </constructor-arg>
- <constructor-arg>
- <map>
- <entry key="liuhua" value="man"></entry>
- <entry key="xujinglei" value="female"></entry>
- </map>
- </constructor-arg>
- <constructor-arg index="5" value="0">
- </constructor-arg>
- </bean>
<bean id="man" class="com.spring.test.man.Man"> <constructor-arg value="zzy" index="0" > </constructor-arg> <constructor-arg value="10" index="1"> </constructor-arg> <constructor-arg> <list> <value>movie</value> <value>music</value> </list> </constructor-arg> <constructor-arg> <set> <value>Lady is GaGa</value> <value>GaGa is Lady</value> </set> </constructor-arg> <constructor-arg> <map> <entry key="liuhua" value="man"></entry> <entry key="xujinglei" value="female"></entry> </map> </constructor-arg> <constructor-arg index="5" value="0"> </constructor-arg> </bean>
最后一个参数ifMarried是一个boolean类型的参数,在配置的时候可以是true/false或者0/1;
二:property的简单使用
java代码:
- public class Doctor {
- private String name;
- private String sex;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getSex() {
- return sex;
- }
- public void setSex(String sex) {
- this.sex = sex;
- }
- public void init(){
- System.out.println("88888888888");
- }
- public void init(String name,String sex){
- this.name = name;
- this.sex = sex;
- }
- }
public class Doctor { private String name; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public void init(){ System.out.println("88888888888"); } public void init(String name,String sex){ this.name = name; this.sex = sex; } }
xml配置文件:
- <bean id="doctor" class="com.spring.test.man.Doctor" init-method="init">
- <property name="name" value="doctor"></property>
- <property name="sex" value="i don't know"></property>
- lt;/bean>
<bean id="doctor" class="com.spring.test.man.Doctor" init-method="init"> <property name="name" value="doctor"></property> <property name="sex" value="i don't know"></property> </bean>
在这里我配置了一个init-method="init"表示在容易实例化这个doctor的时候,调用一个Doctor类的init方法,本来还以为可以通过这个init方法来注入要注入的信息,但是尝试过后才知道这个init方法是不能带参数的。
相关推荐
<constructor-arg type="java.lang.String" value="XXX"/> ``` - **通过索引指定参数** 也可以通过索引来指定构造函数参数的顺序: ```xml <constructor-arg index="0" value="258"/> <constructor-...
<constructor-arg> <value>localhost:7000 <value>localhost:7001 <!-- 添加其他节点... --> </constructor-arg> ``` 最后,我们讨论**哨兵(Sentinel)配置**。哨兵系统用于监控、故障检测和自动故障...
在上面的配置文件中,我们使用`<constructor-arg>`元素将三个参数传递给Car对象的构造函数。 总结 Spring依赖注入的两种方式:Set方法注入和构造注入。Set方法注入是通过对象的setter方法来完成依赖关系的设置,而...
首先,`OssTest.java`可能是一个测试类,用于验证OSS(Object Storage Service)连接池的正确配置和使用。OSS通常是指云存储服务,如阿里云的OSS,它提供了大规模、安全、低成本的数据存储解决方案。 在`spring-oss...
<constructor-arg name="host" value="192.168.152.180"></constructor-arg> <constructor-arg name="port" value="6379"></constructor-arg> ``` 这些配置文件演示了如何初始化Jedis连接池,并将其交给Spring...
这是最常见的一种注入方式,通过在配置文件中定义bean,并使用`<property>`标签指定需要注入的属性。例如,配置文件中如下的代码: ```xml <!-- setter injection using the nested <ref/> element --> ...
这通常涉及使用 `bean` 元素定义这些类,并使用 `property` 子元素注入相关的依赖。例如: ```xml <property name="dataSource" ref="dataSource" /> <property name="jdbcTemplateProperties"> ...
<constructor-arg name="master"> ${sentinel.master} </constructor-arg> <constructor-arg> <constructor-arg> </constructor-arg> </constructor-arg> </property> ``` 2. 创建`...
4. **配置 Spring**:使用 Spring 的 `<bean>` 标签定义 Thrift 服务的服务器端和客户端。在 Spring 的配置文件中,你可以配置 `TServer` 和 `TProcessor`,并绑定到 `CalculatorHandler`。 ```xml ...
<constructor-arg type="java.lang.String"> <value>jxg/Qr4VbxU= </constructor-arg> <!-- password --> <constructor-arg type="java.lang.String"> <value>jxg/Qr4VbxU= </constructor-arg> <!--...
</constructor-arg> <constructor-arg> <constructor-arg> <value>http</value> </constructor-arg> <constructor-arg> <value>8080 </constructor-arg> </constructor-arg> ``` 步骤三:定义Reslet...
3. 使用<constructor-arg>标签来配置Bean的构造函数,例如:<constructor-arg> 4. 使用标签来配置Bean的集合属性,例如:<list> <value>com/alonely/vo/User.hbm.xml</value> </list> 在ApplicationContext.xml...
<constructor-arg ref="contextSource" /> <property name="userDnPatterns"> <list><value>uid={0},ou=people,dc=mycompany,dc=com</value></list> </property> </constructor-arg> <constructor-arg> ...
<constructor-arg ref="contextSource"/> <property name="userDnPatterns"> <list><value>uid={0},ou=users,dc=example,dc=com</value></list> </property> </constructor-arg> <constructor-arg> ...
在Spring XML配置文件中,可以使用简化的语法来为Bean的构造器参数和属性赋值。例如,以下两种写法是等价的: **原始写法:** ```xml <property name="companyName"> <value>lizjason </property> ...
这里我们将深入探讨如何在Java应用中使用Redis Sentinel以及相关的配置和操作。 首先,`RedisTemplateDelegate.java`是Spring Data Redis提供的一个模板类,用于与Redis进行数据交互。在使用Redis Sentinel时,我们...
在上面的例子中,我们使用 `<constructor-arg>` 元素来注入构造方法的参数。 内部 Bean 内部 Bean 是一种特殊的 Bean,它只能被使用一次,通常用于在特定的属性或构造器中。例如: ```xml <constructor-arg ...
这里使用了`<bean>`标签定义了一个名为“car”的Bean,并通过`<constructor-arg>`标签指定了构造函数参数。 - **通过`<property>`标签设置Bean属性**:可以使用`<property>`标签为Bean设置属性值。例如: ```xml...