Java全棧程序員之08:MAVEN+JAVA配置

        從Spring3.0開始,Spring支持以Java配置的方式來代替XML配置。這一點提及來其實有點好笑,XML配置的方式最初被建立出來就是爲了讓配置與程序員無關。但是最終咱們發現,絕大多數的那些配置最終仍是回到了程序員手裏。因而,從Spring3.0開始,咱們又將主動權交回到了本身手裏。java

        讓咱們看一個最簡的Spring註解案例:mysql

1.建立測試項目程序員

Userspring

package com.zuikc.bean;sql

public class User {ide

    private String username;測試

    private String password;ui

    private int age;this

    public User(String username, String password, int age){url

        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();

    }

}

        結果爲:

4.用Java配置支持配置文件讀取

        咱們能夠經過@PropertySource指定配置文件,並經過@Value註解獲取值,具體用法以下,

        建立配置文件properties,內容以下

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

        而後好比修改UserDao,

        啓動代碼,看看是否已經url是否已經獲得了:)。

        感謝關注「碼農星球」。本文版權屬於「碼農星球」。咱們提供諮詢和培訓服務,關於本文有任何困惑,請關注並聯系咱們。

相關文章
相關標籤/搜索