Spring Java配置

Java配置可以完全替代xml配置,也是Spring boot推荐的配置方式。

Java 配置通过@Configuration  和 @Bean 来完成。

1. @Configuration 声明当前类是一个配置类,相当于一个Spring配置的xml文件。

2. @Bean 注解在方法上,声明当前方法返回值是一个Java Bean。

我们在实际开发中的原则:

1. 全局配置使用Java配置(数据库配置,MVC相关配置);

2. 业务配置使用注解配置(业务Bean的配置使用注解配置@Service, @component,@Repository,@Controller)。

 

实例:

 

1. 创建一个业务类

package com.cz.javaconfig;

/**
 * Created by Administrator on 2017/5/6.
 */
public class FunService {

    public String sayHello(){
        return "hello world!";
    }
}

 

 2. 创建一个消费业务对象类

package com.cz.javaconfig;

/**
 * Created by Administrator on 2017/5/6.
 */
public class UseUserService {

    private FunService funService;

    public void setFunService(FunService funService) {
        this.funService = funService;
    }

    public String sayHelloworld(){
        return funService.sayHello();
    }
}

 

3. 主角登场,创建一个JAVA配置类

package com.cz.javaconfig;

import org.apache.catalina.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.jws.soap.SOAPBinding;

/**
 * Java 配置类,代替xml配置文件
 * Created by Administrator on 2017/5/6.
 */
@Configuration
public class JavaConfig {

    @Bean
    public FunService funService(){
        return new FunService();
    }

    @Bean
    public UseUserService useUserService(){
        UseUserService useUserService = new UseUserService();
        useUserService.setFunService(this.funService());
        return useUserService;
    }

    @Bean
    public UseUserService useUserService(FunService funService){
        UseUserService useUserService = new UseUserService();
        useUserService.setFunService(funService);
        return  useUserService;
    }
}

 

4. 运行测试

package com.cz.javaconfig;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import javax.jws.soap.SOAPBinding;

/**
 * Created by Administrator on 2017/5/6.
 */
public class TestJavaConfig {

    public static void main(String[] args) {

        // 启动Spring上下文,并初始化配置文件
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(JavaConfig.class);
        UseUserService useUserService = context.getBean(UseUserService.class);
        System.out.printf(useUserService.sayHelloworld());
    }
}

 

 

 

posted @ 2017-05-06 18:22  dcz1001  阅读(242)  评论(0编辑  收藏  举报