JavaBean三种配置方式之:Java类方式

3月份入职一家公司一个多月了,进来是各种坑啊,总算在这周知道自己要做什么项目了,虽然项目还没有跑起来,但是里面的技术还是可以了解的。由于之前项目中没有使用过SpringBoot,所以也不是太会,然后自己就看了一下,今天不是想跟大家去讲一SpringBoot,而是想跟大家分享一下JavaBean的三种配置方式中的Java类配置的方式。

我们先来回忆一下JavaBean的三种配置方式。

1、基于XML的配置方式;

2、基于注解的配置方式;

3、基于Java类的配置方式;

我们之前可能使用最多的可能就是基于注解的配置方式了,我再次就不再说了,基于XML的配置方式太多臃肿,项目中可能也不太常用,那么我们就来说说基于Java类的配置方式。

Java类的配置方式其实在一定程度上取代了xml的配置方式,特别实在SpringBoot中已经完全采用了Java类的配置方式,我们通过一个简单的例子去了解Java类的配置方式。

第一步:先创建一个User实体类

package com.lbt.demo;

import java.io.Serializable;

/**

  • @Descriptions:用户实体类
  • @author : lbt
  • @date : 2018年5月10日 下午1:58:15 */ public class User implements Serializable{

private static final long serialVersionUID = 1L;

private String username;

private String password;

private int 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 int getAge() { return age; }

public void setAge(int age) { this.age = age; }

@Override public String toString() { return "User [username=" + username + ", password=" + password + ", age=" + age + "]"; }

} 第二步:创建一个数据层

package com.lbt.demo;

import java.util.ArrayList; import java.util.List;

/**

  • @Descriptions:数据层
  • @author : lbt
  • @date : 2018年5月10日 下午2:14:42 */ public class UserDao {

public List queryUserList() {

ArrayList list = new ArrayList();

// 模拟数据库数据 for (int i = 0; i < 10; i++) { User user = new User(); user.setUsername("username" + i); user.setPassword("password" + i); user.setAge(1 + i); list.add(user); } return list; }

} 第三步:创建业务层

package com.lbt.demo;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;

/**

  • @Descriptions:业务层
  • @author : lbt
  • @date : 2018年5月10日 下午2:14:59 */ @Service public class UserService {

@Autowired private UserDao userDao;

public List queryUserList() { // 调用Dao的查询用户方法进行查询 return userDao.queryUserList(); } } 第五步:配置文件

package com.lbt.demo;

import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration;

/**

  • @Descriptions:配置文件类
  • @author : lbt
  • @date : 2018年5月10日 下午2:03:29 */

@Configuration // 声明为一个配置文件 @ComponentScan(basePackages="com.lbt.demo") //扫描包 public class SpringConfig {

@Bean // 通过这个注解来标明这是一个Bean对象,相当于xml文件中的 public UserDao getUserDao() { return new UserDao(); }

} 前面的四步相信大家已经很熟悉了,可能就是这步大家之前要是没接触可能瞬间跟我一样,有点看不太明白,在整个项目里面找xml配置文件,结果发现却根本没有配置文件!

说一下这三个注解的作用:

@Configuration:这个注解其实就是把我们当前的这个类,声明为一个配置文件,它就相当于我们的xml配置文件,跟它的作用是一样的,只不过用类的方式来进行展现;

@ComponentScan(basePackages="包路径"):这个注解其实就是去扫描我们的包路径,对我们需要扫描的包进行扫描,如果需要扫描多个包,之间用逗号隔开即可;

@Bean:这个注解其实更好理解,它就相当于xml中的,我们之前通过标签将它注入到容器中,现在只需要在你所需要注入的资源上面加上@Bean注解,就可以注入到Spring容器中;

第六步:测试

package com.lbt.demo;

import java.util.List;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**

  • @Descriptions:测试方法
  • @author : lbt
  • @date : 2018年5月10日 下午2:07:04 */ public class Test {

@SuppressWarnings("resource") public static void main(String[] args) {

// 通过Java配置的方式实例化Spring容器 AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(SpringConfig.class);

// 在Spring容器中获取Bean对象 UserService userService = applicationContext.getBean(UserService.class);

// 调用对象中的方法 List userList = userService.queryUserList();

for (User user : userList) { System.out.println(user); }

// 销毁容器 applicationContext.destroy(); }

} 更多精彩内容,请关注“一个程序员的成长”

转载于:https://juejin.im/post/5af4ed296fb9a07aa925c2b0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值