spring是我們項目中經常使用的框架,spring中采用bean的方式注入可以減少代碼。bean 的項目注入是項目中最基本的功能。
在spring中的注入方式主要有三種。
1。java顯示注入
public class MusicConfig {
@Bean
public CompactDiscService setCompactDiscService(){
return new CompactDiscServiceImpl();
}
或者
<?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"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean class="com.music.service.CompactDiscServiceImpl"></bean>
</beans>
}
2.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"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="com.music"/>
</beans>
3.java 的隱式注入
1)在class中增加@compoment注解
@Component
public class CompactDiscServiceImpl implements CompactDiscService {
public void play() {
System.out.println("hello i go to study");
}
}
2)增加spring 掃描bean 的config
@Configuration
@ComponentScan
public class MusicConfig {
}
注 可以采用@name的方式來替代@component的替代方案。
ComponentScan默認掃描@configuration目錄下的包,如果需要掃描多個包則配置@ComponentScan(basePackage={"system.com","video.com"})的方式就行注解即可