zoukankan      html  css  js  c++  java
  • 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 依赖注入(属性或者构造器)

  • 相关阅读:
    jQuery 基本选择器
    JavaScriptif while for switch流程控制 JS函数 内置对象
    JavaScrip基本语法
    数据库 存储引擎 表的操作 数值类型 时间类型 字符串类型 枚举集合 约束
    数据库基础知识 管理员 用户登录授权的操作
    粘包的产生原理 以及如何解决粘包问题
    socket TCP DPT 网络编程
    2018年年终总结
    Android技术分享
    No accelerator found
  • 原文地址:https://www.cnblogs.com/PoeticalJustice/p/7816346.html
Copyright © 2011-2022 走看看