2. Spring4.1-Java Config

翻译 2015年11月18日 23:14:07

2.1 java config

  • spring的java config主要使用@Configuration@Bean两个注解;
    • 使用@Configuration注解在类上声明是一个配置类(相当于一个spring的配置xml);
    • 使用@Bean注解在方法上,返回值是一个类的实例,并声明这个返回值是spring的一个bean,bean的name是方法名;

2.2 关于@Bean和@Component,@Service,@Repository,@Controller

  • @Component,@Service,@Repository,@Controller注解在一个类上之后,这个类也成为spring容器中的bean,使用@Bean注解也是,感觉使用@Bean注解是不是更麻烦呢?

  • 既然效果是等同的,那什么时候使用@Bean什么时候使用@Component,@Service,@Repository,@Controller系列呢?

  • 这个原则就和我们当初混用xml配置和@Component,@Service,@Repository,@Controller时候一样:系统的全局配置(数据库配置,spring mvc配置,spring security配置等)使用java config(xml),业务相关的bean使用@Component,@Service,@Repository,@Controller系列。

  • 在后面我们讲到一些全局配置的时候我们就会使用Spring的java config

2.3 演示

2.3.1 创建一个properties(test.properties)文件作为配置

wisely.word = World

2.3.2 创建一个java class

package com.wisely.javaconfig;

public class DemoService {
    private String word;

    public String getWord() {
        return word;
    }

    public void setWord(String word) {
        this.word = word;
    }

    public String sayHello(){
        return "Hello "+this.word;
    }

}

2.3.3 创建java config配置类

package com.wisely.javaconfig;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;

@Configuration //声明是一个配置类
@PropertySource("com/wisely/javaconfig/test.properties")
public class DemoConfig {

    @Bean //声明是一个bean
    public DemoService demoBean(Environment environment){
        DemoService demoService = new DemoService();
        demoService.setWord(environment.getProperty("wisely.word"));
        return demoService;
    }
}

2.3.4 测试-初始化spring容器

package com.wisely.javaconfig;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class Main {

    public static void main(String[] args) {
        //设定此包下的类被注册成spring的bean,
        //包含@Configuration,@Component,@Service,@Repository,@Controller
        AnnotationConfigApplicationContext context =
                            new AnnotationConfigApplicationContext("com.wisely.javaconfig");
        DemoService demoService = context.getBean(DemoService.class);
        System.out.println(demoService.sayHello());
        context.close();
    }

}

输出结果:Hello World

Java Spring Config Database

  • 2016年02月19日 02:59
  • 1KB
  • 下载

struts2 hibrnate4.1. spring3.1整合

我用以前的hibernate3的方式整合了ssh但会报错经过努力的查找资料终于把这个问题解决了 如果使用hibernate4的jar包使用hibernate3的方式配置会提示 java.lang.C...

struts2.3+hibernate4.1+spring3.2+EasyUI1.36整合实现的java后台管理系统

原文:struts2.3+hibernate4.1+spring3.2+EasyUI1.36整合实现的java后台管理系统 源代码下载地址 实现了s2sh的整合,前端使用EasyUI,实现...

Spring Cloud入门2——配置中心Config

Spring Cloud Config 配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。 也就是说,我们可以使用Spring Cl...

4.1 Java语言和Kotlin语言对比(2) 泛型和数组

4.1 Java语言和Kotlin语言对比(2) 注意Java中基础类型的装箱类型当用作类型参数时被映射成了平台类型。 例如,List 在Kotlin中被映射成List 集合类型在Kotl...

米老师讲课 ITOO4.1 ——Java(2)

米老师讲课 ITOO4.1 ——Java(2)    1.米老师老师讲课技巧:很多道理,我们知道,但是老师重复讲,有时我们觉得有 点烦了,但是如果老师用一个新的故事讲,虽然道理一样,但是我们的吸收...

java spring4.1.x源码

  • 2015年10月16日 14:09
  • 15.57MB
  • 下载

如何使用纯java config来配置spring mvc

使用xml配置spring是大部分开发者喜欢并通用的,但是对于有代码洁癖或者对于喜欢使用纯java来配置java项目的童鞋来说,从头到尾采用java类来配置spring mvc项目,无疑令人赏心悦目。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:2. Spring4.1-Java Config
举报原因:
原因补充:

(最多只允许输入30个字)