![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深入浅出Spring Boot2.x研读
记录在看Spring Boot2.x一书中的所见所得
2000nmj
啊
展开
-
IDEA中打开.properties文件乱码
问题:IDEA中打开.properties文件乱码解决方法:一、代开settings设置二、搜索File Encodings三、在Properties Files中选择编码格式为UTF-8,注意一定要打上后面的√原创 2021-11-24 08:16:52 · 606 阅读 · 0 评论 -
4.1.2 ProxyBean的实现
代理,可控制或增加对目标对象的访问ProxyBean代码:package com.springboot.chapter4.proxy;import com.springboot.chapter4.intercept.Interceptor;import com.springboot.chapter4.invoke.Invocation;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;i.原创 2021-11-20 11:35:05 · 305 阅读 · 0 评论 -
【无标题】
简单接口HelloServicepublic interface HelloService { public void sayHello(String name);}实现类HelloServiceImplpublic class HelloServiceImpl implements HelloService { @Override public void sayHello(String name) { if (name == null || name.tr原创 2021-11-20 11:16:52 · 202 阅读 · 0 评论 -
3.9 引入XML配置Bean
注解@ImportResource:可以引入对应的XML文件,用以加载Bean。有时候有些框架(如Dubbo,Cat)是基于Spring的XML方式进行开发的,这个时候需要引入XML的方式来实现配置。新建POJO对象import com.springboot.chapter3.pojo.definition.Animal;/** * @author nmj * @create 2021-11-19 11:16 */public class Squirrel implements Animal原创 2021-11-19 11:43:40 · 416 阅读 · 0 评论 -
3.8 使用@Profile
在企业开发的过程中,项目往往要面临开发环境、测试环境、准生产环境和生产环境的切换,每一套的上下文是不一样的,它们有各自的数据库资源Profile机制:实现各个环境之间的切换。假设存在dev_spring_boot和test_spring_boot两个数据库,这样可以使用注解**@Profile**定义两个Bean:@Bean(name = "dataSource", destroyMethod = "close")@Profile("dev")public DataSource getDevDat原创 2021-11-19 11:12:41 · 669 阅读 · 0 评论 -
3.7 Bean的作用域
isSingleton方法如果返回true,则Bean在IoC容器中以单例存在,这也是Spring IoC容器的默认值;如果isPrototype方法返回true,则当我们每次获取Bean的时候,IoC容器都会创建一个新的Bean在一般的容器中,Bean都会存在单例(Singleton)和原型(Prototype)两种作用域在Web容器中,则存在页(page)、请求(request)、会话(session)和应用(application)4种作用域。对于页面(page),是针对JSP当前页面的作用域,原创 2021-11-19 10:36:31 · 79 阅读 · 0 评论 -
3.6 条件装配Bean
Bean初始化前,对某些属性进行校验,满足校验才去装配数据源为了处理这样的场景,需要用到**@Conditional注解,同时需要配合另外一个接口Condition**(org.springframework.context.annotation.Condition)使用属性初始化数据库连接池:加入了@Conditional注解,并且配置了类DatabaseConditional@Bean(name = "dataSource", destroyMethod = "close")@Condition原创 2021-11-19 09:38:47 · 260 阅读 · 0 评论 -
3.5 使用属性文件
可以采用默认为我们配置的application.properties,也可以使用自定义的配置文件引入属性文件依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional>原创 2021-11-19 09:15:36 · 610 阅读 · 0 评论 -
3.2.1 通过扫描装配你的Bean
对于扫描装配而言使用的注解是**@Component和@ComponentScan**。@Component是标明哪个类被扫描进入IoC容器,而@ComponentScan则是标明采用何种策略去扫描装配Bean修改user类,加入@Component注解@Component("user")public class User { @Value("1") private Long id; @Value("user_name_1") private String u原创 2021-11-17 10:44:51 · 495 阅读 · 0 评论 -
3.1 IoC容器简介
所有的IoC容器都需要实现接口BeanFactory,这是一个顶级的容器接口BeanFactory接口源码://// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)//package org.springframework.beans.factory;import org.springframework.beans.BeansException;i原创 2021-11-17 10:10:09 · 227 阅读 · 0 评论 -
2.4 开发自己的Spring Boot项目
Spring MVC的视图解析器的作用主要就是定位视图的,也就是当控制器只是返回一个逻辑名称的时候,是没有办法直接找到对应视图的,这就需要视图解析器来解析了在Maven的pom.xml中加入JSP和JSTL的依赖包<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <原创 2021-11-17 08:47:25 · 505 阅读 · 0 评论