zoukankan      html  css  js  c++  java
  • Spring ---annotation (重点)--AutoWired 不常用

    1. 默认按类型 by type, 如果想用byname, 使用@Qualifier

    2. 如果写在set上, @qualifier需要写在参数上

    bean.xml:

    默认bytype去找set方法, 注入

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
               http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
               http://www.springframework.org/schema/context
               http://www.springframework.org/schema/context/spring-context-2.5.xsd">
    	<context:annotation-config /> 
      <bean id="u" class="com.bjsxt.dao.impl.UserDAOImpl">
      </bean>	
      <bean id="userService" class="com.bjsxt.service.UserService" >  	
      </bean>
    </beans>
    

    在set方法上加入@AutoWired:

    package com.bjsxt.service;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Qualifier;
    
    import com.bjsxt.dao.UserDAO;
    import com.bjsxt.model.User;
    public class UserService {	
    	private UserDAO userDAO;  	
    	public void init() {
    		System.out.println("init");
    	}	
    	public void add(User user) {
    		userDAO.save(user);
    	}
    	public UserDAO getUserDAO() {
    		return userDAO;
    	}	
    	@Autowired
    	public void setUserDAO(UserDAO userDAO) {
    		this.userDAO = userDAO;
    	}	
    	public void destroy() {
    		System.out.println("destroy");
    	}
    }
    

      

    如果bytype找到2个bean , 参考下面的xml文件,可以在service文件里再加入@Qualifier标识符, 

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
               http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
               http://www.springframework.org/schema/context
               http://www.springframework.org/schema/context/spring-context-2.5.xsd">
    	<context:annotation-config /> 
      <bean id="u" class="com.bjsxt.dao.impl.UserDAOImpl">
      </bean>
      <bean id="u2" class="com.bjsxt.dao.impl.UserDAOImpl">
      </bean> 
    	
      <bean id="userService" class="com.bjsxt.service.UserService" >
      	
      </bean>
      
    
    </beans>
    

      

    UserService.java:

    package com.bjsxt.service;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Qualifier;
    import com.bjsxt.dao.UserDAO;
    import com.bjsxt.model.User;
    
    public class UserService {	
    	private UserDAO userDAO;  	
    	public void init() {
    		System.out.println("init");
    	}	
    	public void add(User user) {
    		userDAO.save(user);
    	}
    	public UserDAO getUserDAO() {
    		return userDAO;
    	}	
    	@Autowired
    	public void setUserDAO(@Qualifier("u") UserDAO userDAO) {
    		this.userDAO = userDAO;
    	}	
    	public void destroy() {
    		System.out.println("destroy");
    	}
    }
    

      

      

  • 相关阅读:
    网络中常用的各种协议(针对TCP/IP协议组)
    报错注入小技巧
    2017swpu-ctf总结
    2017EIS高校运维大赛ctf wirteup
    discuz 3.x ssrf分析
    ssrf漏洞分析
    xxe漏洞分析
    phpcms9.6 注入分析
    74cms漏洞分析
    关于npm
  • 原文地址:https://www.cnblogs.com/wujixing/p/5454204.html
Copyright © 2011-2022 走看看