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

笔记之Spring的java配置方式

程序员文章站 2022-05-23 18:29:30
...

        spring的java配置是在spring3.x的时候开始提供的,在spring4.x更是推荐使用的一种配置方式。

1.何为java配置?

        通俗一点来说,就是用一个java类来充当一个xml的配置文件。

2.java配置是如何实现的?

        通过@Configuration@Bean来实现的。

        @Configuration:作用在上,相当于将该类标志为配置文件(类似springmvc中的@Controller)

        @Bean:作用在方法上,相当于xml配置文件里的bean标签

3.示例

       3.1 创建maven工程,并在pom.xml中导入所需的依赖

            
        <dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>4.3.14.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>4.3.14.RELEASE</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
         *注:将Junit的版本号改成4.0以上,并且引入spring的单元测试spring-test

      3.2 编写Dao层,用于模拟与数据库进行交互

package net.stxy.one.dome;

import java.util.ArrayList;

public class TDao {
	public ArrayList<String> query() {
		ArrayList<String> list = new ArrayList<String>();
		// 此处模拟与数据库交互
		for (int i = 1; i <= 10; i++)
			list.add("-->数据" + i);
		return list;
	}
}

        3.3 编写service层,实现业务逻辑

package net.stxy.one.dome;

import java.util.ArrayList;

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

@Service
public class TService {
	@Autowired
	private TDao tDao;

	public void query() {
		ArrayList<String> list = tDao.query();
		for (String d : list)
			System.out.println(d);
	}
}

        3.4 编写SpringConfig类,实例化Spring容器

package net.stxy.one.dome;

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

@Configuration
@ComponentScan(basePackages = "net.stxy.one.dome")
public class SpringConfig {
	@Bean
	public TDao tDao() {
		return new TDao();
	}
}

        3.5 编写测试程序

package net.stxy.one.dome;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringConfig.class)
public class Main {
	@Autowired
	private TService tService;

	@Test
	public void testByQuery() {
		tService.query();
	}
}

        3.6 运行结果

            笔记之Spring的java配置方式

4.SpringConfig类解释

        @Configuration将该类定义成为了一个配置类。

        @ComponentScan是自动扫描包。

        @Bean是将该方法生成一个bean对象并交给spring容器管理,bean的id是该方法的方法名(一般是没有get并且以第一个字母为小写开头)

        @Bean转换成xml配置方式为

<beans>    
	<bean id="tDao" class="net.stxy.one.dome.TDao"/>    
</beans>

5.总结

        使用java配置方式,可以使结构更加清晰,也便于理解程序,同时java配置方式可以完全的替代以往的xml配置方式。



相关标签: java配置方式