springboot springboot簡化了配置文件的配置,常用的spring、springmvc的配置文件已經在springboot中配置好了。使得開發更專註業務邏輯的實現,提高開發效率。 1.1基於xml的配置 spring配置文件 <?xml version="1.0" encoding= ...
springboot
springboot簡化了配置文件的配置,常用的spring、springmvc的配置文件已經在springboot中配置好了。使得開發更專註業務邏輯的實現,提高開發效率。
1.1基於xml的配置
spring配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="myStudent" class="com.springboot.entity.Student">
<property name="name" value="蔡劍波"/>
<property name="age" value="20"/>
<property name="sex" value="女"/>
</bean>
</beans>
public class Student {
private String name;
private String sex;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", sex='" + sex + '\'' +
", age=" + age +
'}';
}
}
測試類:
public class TestXmlConfig {
@Test
public void test01(){
String config = "beans.xml";
ApplicationContext ctx = new ClassPathXmlApplicationContext(config);
// myStudent 是xml配置文件中配置的bean id屬性值。
Student myStudent = (Student) ctx.getBean("myStudent");
System.out.println("獲取的對象為: "+ myStudent);
}
}
1.2 JavaConfig
javaConfig : 使用java類代替xml配置文件,是spring 提供的一種基於純java類的配置方式。在這個配置類中@Bean創建java對象,並把對象註入到容器中。
需要使用2個註解:
- @Configuration: 這個註解作用在類上面,表示當前作用的類被當作配置文件使用。
- @Bean: 作用於方法上,表示聲明對象,把對象註入到容器中。
創建配置類 MyConfig
import com.springboot.entity.Student;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MyConfig {
/**
* @Bean: 註解
屬性: name 相當於 bean標簽中的id
註解沒有標註name屬性值的話,預設就是方法的名稱 getStudent
*/
@Bean
public Student getStudent(){
Student student = new Student();
student.setAge(18);
student.setName("王五");
student.setSex("男");
return student;
}
}
測試類
import com.springboot.config.MyConfig;
import com.springboot.entity.Student;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
@Test
public void test02(){
ApplicationContext ctx = new AnnotationConfigApplicationContext(MyConfig.class);
// @Bean 註解沒有指出name屬性值,預設是方法名稱 getStudent
Student myStudent = (Student) ctx.getBean("getStudent");
System.out.println("獲取的對象為: "+ myStudent);
}