This article mainly introduces the key points of Spring Boot annotation learning (1). It is very good and has reference value. Friends who need it can refer to it
Annotations for declaring beans:
@Component, a bean without a clear role
@Service, uses
@Repository in the business logic layer (service), and uses
@Controller in the data access layer (dao), Use
@Configuration to declare the configuration class in the presentation layer
No need to add annotations to the entity class, because there is no need to "inject" the entity class
Specify the annotations of the Bean scope :
@Scope("prototype")
The default value is singleton
Optional values prototype, request, session, globalSession
Annotations for declaring the method of generating Bean:
@Bean is used on the method to tell the Spring container that you can get a Bean from the following method
Use the getBean method of the AnnotationApplicationContext object to obtain the Bean
Inject the annotation of the Bean:
@Autowired, automatic injection (default is byType type injection), can be used on attributes or methods. You can set required = "false" to indicate that it is not required to inject multiple implementations of the same interface, by @ qualifier distinguishes
When the injected variable is List and the latter Map, all interface implementations will be injected, Key is the name of the Bean, and value is the implementation class object. You can specify the loading order by adding @order=1 to the implementation class. The smaller the number, the priority is loaded
@Lazy starts delayed injection
Configuration class annotation:
@Configuration declares that the current class is a configuration class, which is equivalent to a xml file configured by Spring
@ComponentScan, which automatically scans all beans under the package name of the configuration class
@ EnableAutoConfiguration, start automatic configuration
In spring boot, these three annotations can be replaced by a @SpringBootApplication
@EnableTransactionManagement, enable transaction support
Transaction management:
@EnableTransactionManagement, added to the configuration class, enables transaction support
@Transactional, added to the Service method, marked as requiring transaction support
AOP annotations:
@AspectJ
Task Scheduling:
@Scheduled用在需要定时执行的方法上 @EnableScheduling用在需要使用的入口类上
Spring MVCIntegration:
First you need to modify the Application class
@SpringBootApplication @EnableTransactionManagement //1、添加继承SpringBootServletInitializer public class Application extends SpringBootServletInitializer{ public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Override //2、重写configure方法 protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return super.configure(builder); } } Spring MVC的注解: @Controller,在展现层使用 @ResponseBody @RestController
[Related recommendations]
1. Special recommendation:"php "Programmer's Toolbox" V0.1 version download
3. JAVA Elementary Introduction Tutorial
The above is the detailed content of Tutorial on java annotation Spring Boot. For more information, please follow other related articles on the PHP Chinese website!