Home  >  Article  >  Java  >  How to implement automatic assembly in Springboot framework

How to implement automatic assembly in Springboot framework

王林
王林forward
2023-05-18 09:49:381375browse

Preface

Using the springboot framework, you can easily and quickly build standalone production-level spring applications. springboot mainly has the following features:

1. Create an independent Spring application

2. Directly embed Tomcat and other Web containers (no need to deploy WAR files)

3. Provide Solid "starter" dependency simplifies build configuration

4. Automatically assemble Spring and third-party class libraries when the barcode is satisfied

5. Provide operation and maintenance features, such as indicator information and health checks and external configuration

6. No XML configuration is required.

Start with the analysis from the use of the program

Introduce the starter dependency of mybatis and related database drivers

      
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.2.0
      

Use of the program

//程序的启动类
@SpringBootApplication
public class HelloApplication {
	public static void main(String[] args) { 
		SpringApplication.run(HelloApplication.class, args);
	}
//服务类
@Service
public interface UserService {
    @Autowired
    private UserXmlMapper userXmlMapper;
    @Test
    public void testFindAll2() {
        List list = userXmlMapper.findAll();
        System.out.println(list);
    }
}
//Dao 操作
@Mapper
public interface UserXmlMapper {
    public List findAll();
}

The above code, everyone They are all very familiar. How does springboot implement the @Mapper annotation so that it can operate the database (there is a bridge in the middle, how to connect springboot and mybatis, and how is this bridge implemented)

Find the bridge from the startup class

How to implement automatic assembly in Springboot framework

You can know it through the source code

Bridge=@SpringBootApplication=>@EnableAutoConfiguration=>@Import({ AutoConfigurationImportSelector.class})

Analysis of the source code shows the main function of AutoConfigurationImportSelector

  • Scan all jar packages under the classpath

  • AutoConfiguration configured in META-INF/spring.factories

  • Scan out the AutoConfguration that needs to be executed

Recall when I use mybatis again , you need to introduce the starter dependency package of mybatis, and combined with the second function of AutoConfigurationImportSelector, you can find the AutoConfguration of mybatis under the corresponding jar.

How to implement automatic assembly in Springboot framework

How to implement automatic assembly in Springboot framework

That is to say, when spring-boot starts [it will create a spring container], it will execute the logic of MybatisAutoConfiguration [process@ Mapper classes (scanned and injected into the srping container) and database connection functions].

The above is the detailed content of How to implement automatic assembly in Springboot framework. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete