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"})的方式就行注解即可