JAVAWEB 一一 Spirng(框架,IOC控制反转,DI依赖注入)
jar包


applicationContext.xml
<?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-3.1.xsd "> <!-- 定义UserDao对象,并指定id为userDao --> <!-- <bean id="userDao" class="dao.impl.UserDao" /> 定义UserBiz对象,并指定id为userBiz <bean id="userBiz" class="biz.impl.UserBiz"> 为userBiz的dao属性赋值,需要注意的是,这里要调用setDao()方法 <property name="dao"> 引用id为userDao的对象为userBiz的dao属性赋值 <ref bean="userDao" /> <bean class="dao.impl.UserDao"></bean> </property> <property name="num"> <value>10</value> </property> </bean> --> <bean id="userDao" class="com.demo.dao.UserDaoImpl"></bean> <bean id="userService" class="service.UserServiceImpl"> <property name="userDao"> <ref bean="userDao"/> </property> </bean> <!-- <bean id="userDao" class="com.demo.dao.UserDaoImpl"></bean> <bean id="userService" class="service.UserServiceImpl"> <constructor-arg> <ref bean ="userDao"/> </constructor-arg> </bean> --> </beans>
UserDao.java
package com.demo.dao;
import com.demo.entity.User;
public interface UserDao {
public void addUser(User user);
}
UserDaoImpl.java
import com.demo.dao.UserDao;
import com.demo.entity.User;
public class UserDaoImpl implements UserDao {
private UserDao userDao;
public UserDao getUserDao() {
return userDao;
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void addUser(User user) {
System.out.println("调用数据库");
}
}
User.java
package com.demo.entity;
public class User {
private int id;
private String username;
private String password;
private String email;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public User(int id, String username, String password, String email) {
super();
this.id = id;
this.username = username;
this.password = password;
this.email = email;
}
public User() {
super();
// TODO Auto-generated constructor stub
}
}
UserService
package com.demo.service;
import com.demo.entity.User;
public interface UserService {
public void addUser(User user);
}
package com.demo.service.impl;
import com.demo.dao.UserDao;
import com.demo.entity.User;
import com.demo.service.UserService;
public class UserServiceImpl implements UserService {
private UserDao userDao;
public UserDao getUserDao() {
return userDao;
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void addUser(User user) {
userDao.addUser(user);
}
/*
public UserServiceImpl() {
super();
// TODO Auto-generated constructor stub
}
public UserServiceImpl(UserDao userDao) {
super();
this.userDao = userDao;
}*/
}
IocTest.java
package com.demo.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.demo.entity.User;
import com.demo.service.UserService;
public class IocTest {
/**
* Inverse of control 控制反转 DI 依赖注入
* aop
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService service =(UserService)ctx.getBean("userService");
User user = new User(10,"Tom","123456","504177380@qq.com");
service.addUser(user);
}
}
Inverse of control 控制反转(不需要自己new对象,框架帮你完成,你使用就行了)
DI 依赖注入(属性或者构造器)
posted on 2017-11-10 20:38 PoeticalJustice 阅读(220) 评论(0) 收藏 举报
浙公网安备 33010602011771号