欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java全栈程序员之08:MAVEN+JAVA配置

程序员文章站 2023-02-24 17:14:13
从Spring3.0开始,Spring支持以Java配置的方式来代替XML配置。这一点说起来其实有点可笑,XML配置的方式最初被创建出来就是为了让配置与程序员无关。可是最终我们发现,绝大多数的那些配置最终还是回到了程序员手里。于是,从Spring3.0开始,我们又将主动权交回到了自己手里。 让我们看 ......

        从spring3.0开始,spring支持以java配置的方式来代替xml配置。这一点说起来其实有点可笑,xml配置的方式最初被创建出来就是为了让配置与程序员无关。可是最终我们发现,绝大多数的那些配置最终还是回到了程序员手里。于是,从spring3.0开始,我们又将主动权交回到了自己手里。

        让我们看一个最简的spring注解案例:

1.创建测试项目

Java全栈程序员之08:MAVEN+JAVA配置

user

package com.zuikc.bean;

public class user {

    private string username;

    private string password;

    private int age;

    public user(string username, string password, int age){

        this.username = username;

        this.password = password;

        this.age = 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 +

                '}';

    }

}

userdao

package com.zuikc.dao;

import com.zuikc.bean.user;

import java.util.arraylist;

import java.util.list;

public class userdao {

    public list<user> queryuserlist(){

        list<user> result = new arraylist<user>();

 

        for (int i = 0; i < 10; i++) {

            user user = new user("username_" + i,"password_" + i ,i);

            result.add(user);

        }

        return result;

    }

}

userservice

package com.zuikc.service;

import com.zuikc.bean.user;

import com.zuikc.dao.userdao;

import org.springframework.beans.factory.annotation.autowired;

import org.springframework.stereotype.service;

import java.util.list;

@service

public class userservice {

    @autowired

    private userdao userdao;

    public list<user> queryuserlist() {

        return this.userdao.queryuserlist();

    }

}

2.spring的java配置方式

        一直到目前为止,我们看到的从bean到service,跟传统的ssm没有任何区别。理论上,这个时候我们就要去配置spring的配置文件了,但是这个时候我们决定抛弃这种传统的做法,改而使用java配置的方式。

        让我们首先创建一个java类,比如叫springconfig(名字其实可以任意),代码如下:

        springconfig,

package com.zuikc.config;

import com.zuikc.dao.userdao;

import org.springframework.context.annotation.bean;

import org.springframework.context.annotation.componentscan;

import org.springframework.context.annotation.configuration;

@configuration //表明该类为配置类,相当于xml配置

@componentscan(basepackages = "com.zuikc") //配置扫描包

public class springconfig {

    @bean // 配置bean

    public userdao getuserdao(){

        return new userdao(); // 直接new对象做演示

    }

}

        现在让我们依次解释这个类中的3个注解。

        @configuration,作用于类上,这表明这就是一个配置类,相当于当前这个类就是之前的xml配置文件;

        @ componentscan,是不是有点熟悉,这是在配置spring的扫描包;

        @bean 作用于方法上,相当于xml配置中的<bean>。以前的bean,是在xml中配置,然后由spring容器生产出来。现在呢,不要容器生产了,由我们自己生产;

3.测试

        写一个测试主类吧:

package com.zuikc;

import com.zuikc.bean.user;

import com.zuikc.config.springconfig;

import com.zuikc.service.userservice;

import org.springframework.context.annotation.annotationconfigapplicationcontext;

import java.util.list;

public class sampletest01 {

    public static void main(string[] args) {

        // 实例化spring容器

        annotationconfigapplicationcontext context = new annotationconfigapplicationcontext(springconfig.class);

        // 获取bean对象

        userservice userservice = context.getbean(userservice.class);

        list<user> list = userservice.queryuserlist();

        for (user user : list) {

            system.out.println(user);

        }

        // 容器销毁

        context.destroy();

    }

}

        结果为:

Java全栈程序员之08:MAVEN+JAVA配置

4.用java配置支持配置文件读取

        我们可以通过@propertysource指定配置文件,并通过@value注解获取值,具体用法如下,

        创建配置文件properties,内容如下

url=jdbc:mysql://localhost:3306/jdbctestdb

        然后比如修改userdao,

Java全栈程序员之08:MAVEN+JAVA配置

        启动代码,看看是否已经url是否已经得到了:)。

        感谢关注“码农星球”。本文版权属于“码农星球”。我们提供咨询和培训服务,关于本文有任何困惑,请关注并联系我们。