笔记之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 运行结果
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配置方式。上一篇: dfs深度优先搜索
推荐阅读
-
干货分享:ASP.NET CORE(C#)与Spring Boot MVC(JAVA)异曲同工的编程方式总结
-
java并发笔记四之synchronized 锁的膨胀过程(锁的升级过程)深入剖析
-
小白Java之JDK15的下载和环境变量的配置
-
java 学习笔记(入门篇)_java的安装与配置
-
02Spring基于xml的IOC配置--实例化Bean的三种方式
-
Spring实战之XML与JavaConfig的混合配置详解
-
Java之JDK的下载与安装,java环境变量的配置,Editplus的下载与使用
-
Java学习笔记十八:Java面向对象的三大特性之封装
-
Java开发笔记(一百一十一)POST方式的HTTP调用
-
Spring通过Java配置集成Tomcat的方法