JavaConfig

一:基本项目

Spring里面有一个特性,叫做JavaConfig,实际上是利用JavaConfig.java文件代替ApplicationContext.xml文件。

还记得之前在xml配置的bean吗?

==

 <bean class="com.wang.Person"/>  

==

但是现在在JavaConfig里面可以这么做

@Configuration
public class JavaConfig {
	@Bean
	public Person button() {
		Person p=new Person();
		p.setName("张三");
		return p;
	}
}
class Person{
	String name;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}


运行测试很简单。

public class Main {
	public static void main(String[] args) {
		ApplicationContext context = new AnnotationConfigApplicationContext(
				JavaConfig.class);
		Person person = context.getBean(Person.class);
		System.out.println(person.getName());
	}
}

上面的代码就是一个简单的Javaconfig就是这么简单。


二:web


如果是在web项目中。也不需要ApplicationContext.xml 只需要上面的Javaconfig.java然后在web.xml配置


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	version="3.1">
	<display-name>cc</display-name>
	<context-param>
		<param-name>contextClass</param-name>
		<param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
	</context-param>
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>com.wang.JavaConfig</param-value>
	</context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
</web-app>


三:

不仅如此datasource,config等配置都可以用Javaconfig去完成。




JavaConfig是Spring框架中的一种配置方式,它使用Java类来定义Bean和配置Spring容器,而不是使用传统的XML文件。JavaConfig提供了一种类型安全且易于维护的配置方式,使得配置更加灵活和可读。 以下是JavaConfig的一些主要特点和优势: 1. **类型安全**:由于配置使用Java类,编译器可以在编译时检查配置的正确性,避免了运行时错误。 2. **可读性**:JavaConfig配置更加接近代码风格,易于阅读和维护。 3. **灵活性**:可以通过编程方式动态配置Bean,增加了配置的灵活性。 4. **模块化**:可以轻松地将配置分解为多个模块,每个模块负责特定的配置部分。 ### 使用JavaConfig的基本步骤 1. **创建配置类**:使用`@Configuration`注解标记一个类作为配置类。 2. **定义Bean**:使用`@Bean`注解标记方法,这些方法返回的对象会被Spring容器管理。 3. **启用组件扫描**:使用`@ComponentScan`注解指定需要扫描的包,Spring会自动检测并注册这些包中的组件。 ### 示例 ```java @Configuration @ComponentScan(basePackages = "com.example") public class AppConfig { @Bean public MyService myService() { return new MyServiceImpl(); } @Bean public MyRepository myRepository() { return new MyRepositoryImpl(); } } ``` 在上述示例中,`AppConfig`类被标记为配置类,并启用了组件扫描。`myService`和`myRepository`方法被标记为Bean,这些方法返回的对象会被Spring容器管理。 ### 使用配置类 在主应用类中,可以通过`AnnotationConfigApplicationContext`来加载配置类: ```java public class MainApp { public static void main(String[] args) { ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); MyService myService = context.getBean(MyService.class); myService.doSomething(); } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值