Spring基础配置(java配置)

一、基础详解

java配置是通过@Configuration与@Bean来实现的。
1、@Configuration声明当前类是一个配置类,相当于一个spring配置的xml
2、@Bean注解在方法上,声明当前方法的返回值为一个Bean.
我们的主要原则是:全局配置使用java配置(如数据库相关配置、MVC相关配置),业务使用注解配置(
@Component组件,没有明确的角色
@Service在业务逻辑层(service层)使用
@Repository在数据访问层(dao层)使用
@Controller在展示层(MVC-Spring MVC)使用)

二、示例

//编写功能类的bean,此处没有使用@Service声明bean
package service.javaConfig;
public class FunService {
    public String sayHello(String word){
        return "Hello "+" "+word;
    }
}

//使用功能类的bean,此处没有使用@Service声明bean
package service.javaConfig;
public class UseFunService {
    //此处没有使用@Autowired注入bean
    FunService funService;
    public void setFunService(FunService funService) {
        this.funService = funService;
    }
    public String sayHello(String word){
        return funService.sayHello(word);
    }
}

//配置类bean
package service.javaConfig;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
//使用@Configuration表明当前类是配置类,这意味着可能有0或者多个@Bean注解,此处没有使用包扫描,因为所有bean都在此类中定义了
public class JavaConfig {
    @Bean
    //使用bean注解声明此方法,返回值是一个bean,bean的名称为方法名
    public FunService funService(){
        return new FunService();
    }
    @Bean
    //使用bean注解声明此方法,返回值是一个bean,bean的名称为方法名
    public UseFunService useFunService(){
        UseFunService useFunService=new UseFunService();
        useFunService.setFunService(funService());
        return useFunService;
    }

}

//测试类
package service.javaConfig;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class JavaConfigTest {
    public static void main(String[] args) {
        AnnotationConfigApplicationContext context=new AnnotationConfigApplicationContext(JavaConfig.class);
        UseFunService useFunService=context.getBean(UseFunService.class);
        System.out.println(useFunService.sayHello("java Config"));
        context.close();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

为你写诗_xue

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值