Spring 参数注入方法
来源:互联网 发布:java 使用一次失效 编辑:程序博客网 时间:2024/04/28 02:42
1 使用有参构造注入属性
public class User {
private String userName;
public void setUserName(String userName) {
this.userName = userName;
}
User()
{
}
public void sop()
{
System.out.println(userName);
}
public void add()
{
System.out.println("add.............");
}
public static void main(String[] args)
{
User user = new User();
user.add();
}
}
// 配置文件,其中name属性值是User类中的属性字段名称
<bean id = "bean4" class="com.grl.ioc.User">
<constructor-arg name = "userName" value="小胖子"></constructor-arg>
</bean>
// 测试代码:
public void Text()
{
//加载核心配置文件
ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
//得到配置创建对象
UserService user = (UserService)context.getBean("bean4");
user.sop();
}
2 使用set方法
public class User {
private String userName;
public void setUserName(String userName) {
this.userName = userName;
}
User()
{
}
public void sop()
{
System.out.println(userName);
}
}
// 配置文件,其中name属性值是User
<bean id = "bean5" class = "com.grl.ioc.User">
<property name="userName" value = "小胖子"></property>
</bean>
// 测试代码
public void Text()
{
//加载核心配置文件
ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
//得到配置创建对象
UserService user = (UserService)context.getBean("bean5");
user.sop();
}
3 注入复杂类型,例如参数是对象
public class UserService {
private User user;
public void setUser(User user) {
this.user = user;
}
public void sop()
{
System.out.println("hahah 终于成功了!");
}
}
//配置文件
<bean id="user" class="com.grl.ioc.User"></bean>
<bean id = "UserService" class = "com.grl.arg.UserService">
<property name="user" ref = "user"></property>
</bean>
// 测试代码
public class canshuTest {
@Test
public void Text()
{
//加载核心配置文件
ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
//得到配置创建对象
UserService user = (UserService)context.getBean("UserService");
user.sop();
}
}
4 复杂类型的注入
public class Person {
private String[] arr;
private List<String> list;
private Map<String,String> map;
private Properties properties;
public void setArr(String[] arr) {
this.arr = arr;
}
public void setList(List<String> list) {
this.list = list;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
public void setProperties(Properties properties) {
this.properties = properties;
}
public void sop()
{
System.out.println(arr);
System.out.println(list);
System.out.println(map);
System.out.println(properties);
}
}
// 配置文件
<bean id = "person" class = "com.grl.arg.Person">
<property name="arr">
<list>
<value>小马</value>
<value>小王</value>
<value>小金</value>
</list>
</property>
<property name="list">
<list>
<value>好吗</value>
<value>好的</value>
<value>阿弥陀佛</value>
</list>
</property>
<property name="map">
<map>
<entry key="aa" value="lucy"></entry>
<entry key="bb" value="tom"></entry>
<entry key="cc" value="lili"></entry>
</map>
</property>
<property name="properties">
<props>
<prop key="Drivers">com.mysql.jdbc.Driver</prop>
<prop key="User">root</prop>
<prop key="Pwd">123456</prop>
</props>
</property>
</bean>
// 测试代码
@Test
public void Text()
{
//加载核心配置文件
ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
//得到配置创建对象
Person p = (Person)context.getBean("person");
p.sop();
}
- Spring 参数注入方法
- Spring MVC 自定义方法参数注入
- Spring参数注入的几种方法
- spring 注入参数
- spring参数注入细节
- 004. Spring 注入参数
- Spring DI 依赖注入案例(带参数构造方法依赖注入、setter方法依赖注入、p名称空间注入)
- 【Spring】--Spring方法注入
- 【Spring】--Spring方法注入
- spring构造方法注入之按照参数类型入参
- Spring方法注入
- spring Lookup方法注入
- Spring的方法注入
- spring方法注入
- Spring方法注入
- Spring方法注入
- Spring 之方法注入
- Spring的方法注入
- Path绘制贝塞尔曲线和波浪waveView
- TextView不能自动导包
- 第一篇文章,目的是测试和体验csdn的blog
- 链路层协议
- 【jenkins】二、使用jenkins+svn+ant+tomcat 构建非maven项目
- Spring 参数注入方法
- JAVA中Object类有哪些方法
- 二分法:CF371C-Hamburgers(二分法+字符串的处理)
- coding感想(二)
- Redis配置文件详解
- 关于setTimeout
- jsp基础学习
- 周末作业
- Linux文件操作