1、Spring 是重量级企业开发框架 Enterprise JavaBean(EJB) 的替代品,Spring 为企业级 Java 开发提供了一种相对简单的方法,通过 依赖注入 和 面向切面编程 ,用简单的 Java 对象(Plain Old Java Object,POJO) 实现了 EJB 的功能
虽然 Spring 的组件代码是轻量级的,但它的配置却是重量级的(需要大量 XML 配置) 。
从本质上来说,Spring Boot 就是 Spring,它做了那些没有它你自己也会去做的 Spring Bean 配置。
Spring Framework 旨在简化 J2EE 企业应用程序开发。Spring Boot Framework 旨在简化 Spring 开发。
https://github.com/CodingDocs/springboot-guide/blob/master/docs/start/springboot-hello-world.md
2、你可以通过 https://start.spring.io/ 这个网站来生成一个 Spring Boot 的项目。注意勾选上 Spring Web 这个模块,这是我们所必需的一个依赖
你也可以直接通过 IDEA 来生成一个 Spring Boot 的项目,具体方法和上面类似:File->New->Project->Spring Initializr。
3、可以看出大概可以把 @SpringBootApplication看作是 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解的集合。根据 SpringBoot 官网,这三个注解的作用分别是:
- @EnableAutoConfiguration:启用 SpringBoot 的自动配置机制
- @ComponentScan: 扫描被@Component (@Service,@Controller)注解的 bean,注解默认会扫描该类所在的包下所有的类。
- @Configuration:允许在上下文中注册额外的 bean 或导入其他配置类。
上面说了这么多,我们现在正式开始写 Spring Boot 版的 “Hello World” 吧。
新建一个 controller 文件夹,并在这个文件夹下新建一个名字叫做 HelloWorldController 的类。
@RestController是 Spring 4 之后新加的注解,如果在 Spring4 之前开发 RESTful Web 服务的话,你需要使用@Controller 并结合@ResponseBody注解,也就是说@Controller +@ResponseBody= @RestController。对
5、默认情况下,Spring Boot 项目会使用 8080 作为项目的端口号。如果我们修改端口号的话,非常简单,直接修改
application.properties配置文件即可。
src/main/resources/application.properties
server.port=8333大功告成,运行项目 6、Spring 如何优雅读取配置文件? 1、使用 @Value("${property}") 读取比较简单的配置信息:
2、通过@ConfigurationProperties读取并与 bean 绑定
springboot-guide/docs/advanced/springboot-handle-exception.md at master · CodingDocs/springboot-guide (github.com)LibraryProperties 类上加了 @Component 注解,我们可以像使用普通 bean 一样将其注入到类中使用。
3、通过@ConfigurationProperties读取并校验
ProfileProperties 类没有加 @Component 注解。我们在我们要使用ProfileProperties 的地方使用@EnableConfigurationProperties注册我们的配置bean(这也说明我们的bean还是要注册,即要么加@Component等注解,要么@EnableConfigurationProperties等如@EnableConfigurationProperties(ProfileProperties.class))
4.@PropertySource读取指定 properties 文件
如:@PropertySource("classpath:website.properties") Spring 读取配置文件也是有优先级的
7、注意:读取配置文件是生成bean,下面初始化方法代表生成后指定的动作
1、Spring为bean提供了两种初始化bean的方式,实现InitializingBean接口,实现afterPropertiesSet方法,或者在配置文件中通过init-method指定,两种方式可以同时使用。
2、实现InitializingBean接口是直接调用afterPropertiesSet方法,比通过反射调用init-method指定的方法效率要高一点,但是init-method方式消除了对spring的依赖。
3、如果调用afterPropertiesSet方法时出错,则不调用init-method指定的方法。
8、本文主要讲了 四 种捕获处理异常的方式:
- 使用 @ControllerAdvice 和 @ExceptionHandler 处理全局异常
- @ExceptionHandler 处理 Controller 级别的异常
- 通过 ResponseStatus注解简单处理异常的方法(将异常映射为状态码)
- ResponseStatusException
ErrorReponse,并且参数就是BaseException用来初始化返回体,总的Hibernate不是过时了么?SpringDataJpa又是什么?和Mybatis有什么区别?_springmvc hibernate 是否过时-CSDN博客 Mybatis-plus虽然也可以但是对于Spring-Data-Jpa全自动的ORM来看,对于简单的业务显得没有Spring-Data-Jpa那么方便 我们可以认为JPA是标准,事实上也是,JPA几乎都是接口,实现都是Hibernate在做,宏观上面看,在JPA的统一之下Hibernate很良好的运行。 在使用持久化工具的时候,一般都有一个对象来操作数据库,在原生的Hibernate中叫做Session,在JPA中叫做EntityManager,在MyBatis中叫做SqlSession,通过这个对象来操作数据库。 标签:读取,door,springboot,Spring,bean,enter,注解,guide,springBoot From: https://www.cnblogs.com/lengsong/p/17964815