1,java的配置方式简介
java的配置方式是为了代替使用xml配置方式,
主要使用两个注解:
@Configuration//通过该注解来表明该类是一个spring的配置,相当于一个xml文件
@ComponentScan(basePackages="com.SpringBoot.javaConfig")//配置扫码包

设置bean的方式,既可以直接在bean类上面使用@Component,@Service
也可在java配置类里面使用@bean,搭配类似如下方法代替xml中bean的配置:
@Bean //通过该配置来表明是一个bean对象,相当于xml里面的<bean>

    //以下也可通过直接在User上面使用@Component代替
@Bean //通过该配置来表明是一个bean对象,相当于xml里面的<bean>
public UserDAO getUserDAO()
{
return new UserDAO();//直接new对象做演示
}

初始化spring容器,由于不再使用配置文件了:

ApplicationContext = new ClassPathXmlApplicationContext(xmlPath); 

而是使用如下方式代替:

AnnotationConfigApplicationContext context=
new AnnotationConfigApplicationContext(SpringConfig.class);

该方式,会通过SpringConfig这个配置类进行容器初始化。

获取bean的方式,同样可以使用context.getBean(类.class)方式,如下:

UserService userService=context.getBean(UserService.class);

这种方式依然可以使用@Autowired等注解。

这种java配置方式,完全不需要xml配置,简单易懂。

二,读取外部的资源配置文件
通过@propertySource可以读取指定的配置文件,通过@value注解获取值。具体用法:

@propertySource(value={"classpath:jdbc.properties"})
public class SpringConfig
{
  @Value("${jdbc.url}")
  private String jdbcUrl;   @Bean
  public UserDAO getUserDAO()
  {
    return new UserDAO();
  }
}

为了保证如果读取的配置文件不存在忽略他,加上属性:ignoreResourceNotFound=true
如果多个配置文件,可以修改value值:

@propertySource(value={"classpath:jdbc.properties","xxxx","xxxx"},ignoreResourceNotFound=true)

实例:

第一步:新建一个实体类:User

package com.SpringBoot.javaConfig;

public class User {

    private String username;
private String password;
private Integer age; public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}

新建一个UserDAO模拟DAO数据库查询

package com.SpringBoot.javaConfig;

import java.util.ArrayList;
import java.util.List; import org.springframework.stereotype.Component; public class UserDAO { public List<User> queryUserList(){ List<User> result=new ArrayList<User>();
//模拟数据库查询
for(int i=0;i<10;i++)
{
User user=new User();
user.setUsername("username_"+i);
user.setPassword("password_"+i);
user.setAge(i+1);
result.add(user);
}
return result;
} }

第三步:新建一个UserService调用UserDAO

package com.SpringBoot.javaConfig;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; @Service
public class UserService { @Autowired
//注入spring容器中的bean对象
private UserDAO userDAO; public List<User> queryUserList(){
return userDAO.queryUserList();
}
}

最后一步:新建一个main方法测试:

package com.SpringBoot.javaConfig;

import java.util.List;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class Main {

    public static void main(String[] args) {

        //通过java配置来管理Spring容器
AnnotationConfigApplicationContext context=
new AnnotationConfigApplicationContext(SpringConfig.class);
//在spring容器中获取bean对象
UserService userService=context.getBean(UserService.class); //调用对象中的方法
List<User> list=userService.queryUserList();
for(User user:list)
{
System.out.println(user.getUsername()+","+user.getPassword()+","+user.getAge());
} //销毁容器
context.destroy();
} }

java的配置方式简介的更多相关文章

  1. java的配置环境简介

    ============================================================================== 学java对很多人来说并不陌生,听的最多的 ...

  2. 用Java+xml配置方式实现Spring数据事务(编程式事务)

    一.用Java配置的方式 1.实体类: Role public class Role { private int id; private String roleName; private String ...

  3. Java常见编码方式简介

    计算机只能识别二进制数据,早期由来是电信号. 为了方便应用计算机,让它可以识别各个国家的文字. 就将各个国家的文字用数字来表示,并一一对应,形成一张表. ASCII:美国标准信息交换码. 用一个字节的 ...

  4. Spring MVC 的 Java Config ( 非 XML ) 配置方式

    索引: 开源Spring解决方案--lm.solution 参看代码 GitHub: solution/pom.xml web/pom.xml web.xml WebInitializer.java ...

  5. 如何用Java类配置Spring MVC(不通过web.xml和XML方式)

    DispatcherServlet是Spring MVC的核心,按照传统方式, 需要把它配置到web.xml中. 我个人比较不喜欢XML配置方式, XML看起来太累, 冗长繁琐. 还好借助于Servl ...

  6. SpringBoot学习(三)-->Spring的Java配置方式之读取外部的资源配置文件并配置数据库连接池

    三.读取外部的资源配置文件并配置数据库连接池 1.读取外部的资源配置文件 通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值,具体用法: @Configuration ...

  7. SpringBoot学习(二)-->Spring的Java配置方式

    二.Spring的Java配置方式 Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.@Configuration 和 @Bean Spring的Java配置方式是通过 @ ...

  8. Spring 的java 配置方式

    Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.1@Configuration 和 @Bean Spring的Java配置方式是通过 @Configuration 和 @ ...

  9. Spring的Java配置方式—@Configuration和@Bean实现Java配置

    Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.@Configuration 和 @BeanSpring的Java配置方式是通过 @Configuration 和 @Be ...

随机推荐

  1. [转]Nginx 502 PHP LNMP 502 终极解决方案 完美解决502 用 upstream 和 fastcgi_next_upstream 可以极大缓解

    转: http://xn--ghqyhzj.com/post-21537.html 本文针对LNMP的PHP 版本ver 5.3.6 or Higher,其它未测试过. 1. 使用不同端口或php-f ...

  2. verilog语法学习目录

    verilog语法实例学习(1) Verilog中的注释 Verilog中的信号 标识符 信号的值 Verilog中的数字 Verilog中的参数 verilog语法实例学习(2) 线网类型 变量类型 ...

  3. 【转】QT 串口QSerialPort + 解决接收数据不完整问题

    类:QSerialPort 例程:Examples\Qt-5.9.1\serialport\terminal,该例子完美展示了qt串口收发过程,直接在这上面修改就可以得到自己的串口软件.核心方法 // ...

  4. 用 .NET Memory Profiler 跟踪.net 应用内存使用情况--基本应用篇(转)

    .net 框架号称永远不会发生内存泄漏,原因是其引入了内存回收的机制.但实际应用中,往往我们分配了对象但没有释放指向该对象的引用,导致对象永远无法释放.最 常见的情况就是给对象添加了事件处理函数,但当 ...

  5. Android WindowManager实现悬浮窗效果 (一)——与当前Activity绑定

    最近有学生做毕业设计,想使用悬浮窗这种效果,其实很简单,我们可以通过系统服务WindowManager来实现此功能,本章我们来试验一下在当前Activity之上创建一个悬浮的view. 第一步:认识W ...

  6. IT知识大扫盲

    做了这么多软件开发,下列一些知识不一定都懂. 首先,说一些电子商务扫盲的名词: 常见的电子商务类型有:C2C.B2B.B2C.C2B.O2O等等,下面来简要说明下这几种类型. C2C(Customer ...

  7. Double-Array Trie分词词典简述

    http://www.xuebuyuan.com/1991441.html 一.TRIE树简介(以下简称T树) TRIE树用于确定词条的快速检索,对于给定的一个字符串a1,a2,a3,…an,则采用T ...

  8. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十五)Spark编写UDF、UDAF、Agg函数

    Spark Sql提供了丰富的内置函数让开发者来使用,但实际开发业务场景可能很复杂,内置函数不能够满足业务需求,因此spark sql提供了可扩展的内置函数. UDF:是普通函数,输入一个或多个参数, ...

  9. 比尔·盖茨写的最古老程序曝光:BAT程序员膜拜 #精选程序人生

    比尔·盖茨31岁,就成为世界首富.很多人好奇,作为世界第一大PC系统的创始人,抛弃世界首富的头衔,单单从程序员角度来讨论,比尔盖茨的代码水平如何? 其实,比尔·盖茨对写代码有一种狂热的喜好.上高中的时 ...

  10. ListView显示不同布局

    在使用不同布局的时候,getItemViewType和getViewType不能少,通常是不用这两个函数的重载的 listView.setAdapter(new BaseAdapter() { @Ov ...