下文笔者讲述Spring装配bean的方法分享,如下所示:
自动化装配
当我们把一个类声明为组件类,就可以将此类注入到Spring容器中
import org.springframework.stereotype.Component;
@Component
public class User{
private String title="用户类";
private String userName="颜丹晨";
public void printUserInfo(){
System.out.println("...我就是颜丹晨...");
}
}
在UserService类中使用User类
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class UserService{
private User user;
@Autowired
public UserService(User user){
this.user=user;
}
public void printUserInfo(){
user.printUserInfo();
}
}
使用java config或xml扫描此类
import org.springframework.context.annotation.componentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan
public class UserConfig{
}
xml方法
<bean>
<context:component-scan base-package="..."/>
</beans>
方式二:使用@Bean注解的方式装配bean
@Bean
public User user(){
return new User();
}
@Bean
public UserService userService(){
return new UserService(user());
}
------或------
@Bean
public UserSerice userService(User user){
return new UserService(user);
}
方式三:使用xml配置的方式自动装配bean
借助构造器注入初始化bean:
①注入引用:
<bean id="userService" class="com.java265.UserService">
<constructor-arg ref="user">
</bean>
②注入字面量:
<bean id="user" class="com.java265.User">
<constructor-arg value="maomao">
<constructor-arg value="java265">
<constructor-arg>
<list>
<value>,,,</value>
<value>>...</value>
<!--这里是注入List集合-->
</list>
</constructor-arg>
</bean>
方式四:
在代码中混合使用以上三种模式