大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

springboot项目使用spring-data-jpa如何连接多数据源

serverTimezone=GMT+8 spring.datasource.secondary.username=test_for_blog spring.datasource.secondary.password=A1b2c3d4e5 主库配置 @Configuration @EnableTransactionManagement @EnableJpaRepositories(entityManagerFactoryRef="entityManagerFactoryPrimary", transactionManagerRef="transactionManagerPrimary", basePackages= {"com.test.dao.primary"}) public class DataSourcePrimaryConfig { @Value("${spring.datasource.driverClassName}") private String driverClassName;dataSource(dataSourcePrimary()) .

通过Gradle使用Docker部署 Spring Boot项目

通过Gradle使用Docker部署 Spring Boot项目 虽然一直都有使用Docker,但是仅仅局限于把Docker当做沙箱用,安装MySQL、Tensorflow等框架,避免在自己的电脑上安装这些环境,感觉只是个虚拟机而已。所以一直无法理解Docker对开发技术为何产生这么大的影响,只以为用来测试很方便而已。今晚在博客又看到Docker的介绍,决定着手再次尝试Docker,真正在开发和生产阶段上尝试。 在服务器架

SpringCloud-Feign接口转换服务

} } 其中configuration = FeignClientConfig.class不是必须的,将configuration属性去除仍然能work。 将之前的Rest操作的API,替换成面向DeptClientService接口的形式 @RestController @RequestMapping("/consumer/dept") public class ConsumerDeptController { @Autowired private DeptClientService deptClientService; @Autowired private HttpHeaders httpHeaders; Dept dept = restTemplate.exchange(DEPT_GET_URL+id, HttpMethod.GET,new HttpEntity (this.httpHeaders),Dept.class).

Spring Boot:jsp的替代品thymeleaf简单使用

查看详情 Controller类如下: @Controller class TestController { @RequestMapping("/index") fun index(map: MutableMap ): String { map["user"] = User(1, "Wiki","/user?我 是 Wiki 显示结果如下: 我 是 Wiki 我 是 Wiki 坑: 由于[[]]thymeleaf语法,我们在定义二维数据的时候必须[ []]这样写,可以避免被识别成thymeleaf语法。 也属于thymeleaf语法,必须通过包围,避免被转义。 当需要输出 换行符时候要改用th:utext。

spring-boot-starter-grpc 实现原理

// 指定包名 option java_package = "com.anoyi.rpc"; // 指定类名 option java_outer_classname = "GrpcService"; // 定义通用的 Grpc 服务 service CommonService { // 处理请求 rpc handle ( Request ) returns ( Response ) {} } // 定义通用的 Grpc 请求体 message Request { bytes request = 1; } // 定义通用的 Grpc 响应体 message Response { bytes reponse = 1;

003SpringBoot之@ConfigurationProperties与@Value的区别

} 输出年龄:44 六、JSR303数据校验 1、@ConfigurationProperties 配置: person: lastName: 张三 age: 25 isBoss: false birth: 2017/12/12 maps: {key1: value1,key2: value2} lists: - 雷军 - 乔布斯 - 马云 dog: name: milly age: 2 JavaBean: @ConfigurationProperties(prefix = "person") @Component @Validated public class Person { @Email private String lastName; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [person.lastName,lastName];

Spring boot 2.0 之优雅停机

,注册一个JVM关闭的钩子,这个钩子可以在以下几种场景被调用: 程序正常退出 使用System.exit() 终端使用Ctrl+C触发的中断 系统关闭 使用Kill pid命令干掉进程 测试shutdownHook的功能,代码示例: public class TestMain { private ShutdownHook shutdownHook; } @Override public void onApplicationEvent(ContextClosedEvent contextClosedEvent) { this.connector.pause();interrupt();shutdown(); Undertow undertow = (Undertow) field.get(webServer);

Spring Bean注册解析(二)

} // 以id属性的值作为当前bean的默认名称,如果没有id属性,那么将name属性的第一个值作为当前bean的名称 String beanName = id; // 解析并且封装property子标签到BeanDefinition中 parsePropertyElements(ele, bd); // 如果有value属性值,则对value属性值进行处理 } else if (hasValueAttribute) { // 将value属性值封装到TypedStringValue对象中 TypedStringValue valueHolder = new TypedStringValue(ele.getAttribute(VALUE_ATTRIBUTE));

java代理demo

java代理demo 需求:使用AOP方式打印日志 用户service层,接口与实现类 public interface IUserService { void addUser(String name); System.out.println("我是日志:添加了"+name); } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { //执行额外的逻辑 System.out.println("我是日志,前置处理"); } } cglib代理类 public class CglibProxy implements MethodInterceptor{ private Enhancer enhancer = new Enhancer();

基于Spring Boot的登录demo

@RestController public class LoginController { @RequestMapping("/") public ModelAndView index() { return new ModelAndView("index"); } } } 项目打包运行 使用maven进行打包。 mvn install Spring Boot里面嵌入了Tomcat,直接运行 java -jar xxx.jar p6 浏览器输入: http://localhost:8080 账号:qinya 密码:tianle 参考来源 Spring Boot基础教程 基于Bootstrap的简洁登录界面设计效果 Building an Application with Spring Boot

Java 设计模式(10) —— 迭代器模式

public MenuItem(String name,String description,boolean vegetable,float price) { this.name=name; public CakeHouseMenu() { menuItems = new ArrayList (); addItem("Stawberry Cake","fresh stawberry",true,3.29f); private MenuItem[] dineritems; } 2.中西餐厅分别实现迭代方法 /** * 自定义迭代器对象,西餐厅实现迭代方法 */ class CakeHouseIterator implements Iterator { private int position = 0; @Override public boolean hasNext() { if (position numberOfItems) { return true;

Spring Security 架构与源码分析以及基于Spring Security实现前后端分离项

Spring Security 架构与源码分析以及基于Spring Security实现前后端分离项 Spring Security 架构与源码分析 Spring Security 主要实现了Authentication(认证,解决who are you? 看具体的实现,retrieveUser,直接调用userDetailsService获取用户: protected final UserDetails retrieveUser(String username, UsernamePasswordAuthenticationToken authentication) throws AuthenticationException { UserDetails loadedUser;passwordEncoder(passwordEncoder());

Spring Sceurity的开发1

return user; } private ImageCode createImageCode(HttpServletRequest request) { . //set/get方法 2.3 配置记住我到 SS 配置 image 到此为止,配置记住我就完成了。 可以测试,成功登录后,数据库添加一条信息。 image 2、基于短信验证码的认证 2.1 开发短信验证码接口 基于图像验证码的接口改造一个发送短信验证码,在ValidateCodeController里面增加一个短信验证码的方法 @Autowired private SMSSender smsSender;

Spring Boot:简单使用EhCache缓存框架

) { this.id = id this.name = name } } // 获取缓存实例 val userCache = CacheManager.getInstance().getCache("userCache") // 写入缓存 val element = Element("1000", User(1000,"Wiki")) userCache.put(element) // 读取缓存 val user = userCache.get("1000").objectValue as User 写入硬盘 只要增加 就可以写入文件,重启服务数据也不会丢失。 image.png

SpringBoot2.x配置HTTPS,并实现HTTP访问自动转向HTTPS

SecurityCollection collection = new SecurityCollection(); return tomcat;x来实现的,这也是我为什么写这篇文章的初衷,所以需要下边代码实现springboot2.x版本HTTP自动转向HTTPS。 在springboot2.x这样配置 @Bean public Connector connector(){ Connector connector=new Connector("org.apache.coyote.http11.Http11NioProtocol"); context.addConstraint(securityConstraint);

006SpringBoot之配置多环境

006SpringBoot之配置多环境 一、概述 1、定义 在我们真实项目中,都会有开发环境,测试环境,生产环境等等。每一种环境的服务器都是不同的,比如:开发环境我们就在Windows上开发,等到生产环境就换成了Linux系统,两个系统的差别很大,所以各种配置也不同(比如:我们开发环境的log记录在D:\logs下,生产环境就是/tmp/logs下,这样的话我们每次打包之前都要手动改一下配置文

分布式定时任务Elastic-Job框架在SpringBoot工程中的应用实践(二)

png 5、使用Elastic-Job-Console平台管理分片任务 在本地开启浏览器访问“localhost:8899”地址,使用前面在配置文件中设置的用户名和密码(默认为root/root)即可登录上Elastic-Job-Console平台。设置完Zookeeper作业中心的IP地址,端口和命名空间后即可对部署的Elastic-Job分片定时任务进行监控和管理了。 elasic_job_console_web控制台的截图.

在Windows下如何创建虚拟环境(默认情况下)

在Windows下如何创建虚拟环境(默认情况下) 很多小伙伴平时在使用Python的时候,有的项目需要使用Python2来进行开发,有的项目则是需要Python3来进行开发。当不清楚怎么分开环境的时候,此时两个环境开始打架,彼此傻傻分不清楚。虚拟环境作为隔离的利器应运而生,其实虚拟环境最大的好处就是将我们的开发环境进行隔离,让彼此相互不受影响。今天,小编给大家简单的介