一. Spring注入方式总结
构造注入:通过类构造器注入依赖对象;
private IDataDao iDataDao;
public DataServiceImpl ( IDataDao iDataDao) {
this . iDataDao = iDataDao;
}
<!-- XML定义注入关系-->
<bean id="getDataServiceImpl1" class="fqyf.service.DataServiceImpl.DataServiceImpl">
<constructor-arg name="iDataDao" ref="dataDaoImpl" />
</bean>
设值注入:通过set方法注入依赖对象;
private IDataDao iDataDao;
public void setiDataDao ( IDataDao iDataDao) {
System. out. println ( "构造注入;" ) ;
this . iDataDao = iDataDao;
}
<!-- XML定义注入关系-->
<bean id="getDataServiceImpl1" class="fqyf.service.DataServiceImpl.DataServiceImpl">
<property name="iDataDao" ref="dataDaoImpl" />
</bean>
接口注入:通过实现接口定义的对象注入;
public interface Hello {
public Random getRandom ( ) ;
public abstract Random createRandom ( ) ;
}
public class Random {
private int i = ( int ) ( 100 * Math. random ( ) ) ;
public void printRandom ( ) {
System. out. println ( "输出随机整数: " + i) ;
}
}
public abstract class HelloAbstract implements Hello {
private Random random;
public Random getRandom ( ) {
return random;
}
public void setRandom ( Random random) {
this . random = random;
}
public abstract Random createRandom ( ) ;
}
<beans>
<bean id="ran" class="javamxj.spring.basic.lookup.Random" singleton="false"/>
<bean id="hello" class="javamxj.spring.basic.lookup.HelloAbstract">
<lookup-method name="createRandom" bean="ran"/>
<property name="random">
<ref local="ran"/>
</property>
</bean>
</beans>
二. Spring注入类型总结
Autowired:
@Autowired
Qualifier(“接口实现类名称”);
@Qualifier ( "接口实现类名称" )
Resource( name = "接口实现类名称 "):
@Resource ( name = "接口实现类名称" )
三. Spring常用注解总结(注解名称,使用位置,作用)
@Component
@Controller
@Service
@Repository
@Primary
@GetMapping ( "/sk" )
@PostMapping ( "/sk" )
@Configuration
@Bean
@Scope ( ConfigurableBeanFactory. SCOPE_SINGLETON)
@PostConstruct :
@PreDestroy
@ComponentScan ( basePackages = "fqyf.*" )
@Import
@PropertySource