标签:依赖 UserServiceDao demo dao Spring import com public 注入
Spring依赖注入
创建对象的方式都是使用xml配置文件.
1.通过有参构造
dao层
package com.demo.dao;
public interface UserMapper {
}
package com.demo.dao.impl;
import com.demo.dao.UserMapper;
public class UserMapperImpl implements UserMapper {
}
service层
Dao层
package com.demo.service;
public interface UserServiceDao {
void getUserService();
void show();
}
Impl层
package com.demo.service.impl;
import com.demo.service.UserServiceDao;
public class UserServiceDaoImpl implements UserServiceDao {
private String name;
//dao层
private UserMapper userMapper;
//有参构造
public UserServiceDaoImpl(String name,UserMapper userMapper){
}
//展示成员变量中的值
@Override
public void show() {
System.out.println(name+"="+userMapper);
}
}
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="UserMapper" class="com.demo.dao.impl.UserMapperImpl"/>
<bean id="UserServiceDao" class="com.demo.service.impl.UserServiceDaoImpl">
<constructor-arg name="name" value="李四"/>
<!--指定引用类型属性的值-->
<constructor-arg name="userMapper" ref="UserMapper"/>
</bean>
</beans>
注意:
在配置文件确定成员变量的三种方式:
name:指定成员变量名
type:指定成员变量类型
index:指定成员变量所在索引位置
赋值:
value:基本类型的属性赋值
ref:引用类型的属性赋值,来自于spring创建的对象的唯一标识
测试类
import com.demo.dao.UserMapper;
import com.demo.service.UserServiceDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest05 {
public static void main(String[] args) {
/**
* 通过有参构造依赖注入
*/
//通过spring容器获取对象
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:UserBeans01.xml");
UserServiceDao bean = (UserServiceDao) context.getBean("UserServiceDao");
//打印获取到的对象
System.out.println("bean = " + bean);
//调用方法
bean.show();//李四=com.demo.dao.impl.UserMapperImpl@55d56113
}
}
2.通过set方法
service层
Impl层
package com.demo.service.impl;
import com.demo.dao.UserMapper;
import com.demo.service.UserServiceDao;
public class UserServiceDaoImplSet implements UserServiceDao {
private String name;
private UserMapper userMapper;
public void setName(String name) {
this.name = name;
}
public void setUserMapper(UserMapper userMapper) {
this.userMapper = userMapper;
}
public UserServiceDaoImplSet() {
System.out.println("对象创建成功");
}
//打印成员变量值
@Override
public void show() {
System.out.println(name+"="+userMapper);
}
}
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="UserMapper" class="com.demo.dao.impl.UserMapperImpl"/>
<bean id="UserServiceDao" class="com.demo.service.impl.UserServiceDaoImplSet">
<!--
name:1.类中有对应属性(set方法名去掉set之后的驼峰名字)
2.类中无对应属性(set方法名去掉set之后的名字)
-->
<property name="name" value="李四"/>
<!--指定引用类型属性的值-->
<property name="userMapper" ref="UserMapper"/>
</bean>
</beans>
测试类
import com.demo.dao.UserMapper;
import com.demo.service.UserServiceDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest05 {
public static void main(String[] args) {
/**
* 通过有参构造依赖注入
*/
//通过spring容器获取对象
ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:UserBeans02.xml");
UserServiceDao bean = (UserServiceDao) context.getBean("UserServiceDao");
//打印获取到的对象
System.out.println("bean = " + bean);
//调用方法
bean.show();//李四=com.demo.dao.impl.UserMapperImpl@a67c67e
}
}
标签:依赖,UserServiceDao,demo,dao,Spring,import,com,public,注入 来源: https://www.cnblogs.com/sunplum/p/14299856.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。